-
C++11引用限定符的用处
所属栏目:[语言] 日期:2022-10-24 热度:4360
在《C++右值引用》一节中,我们给您介绍了左值和右值。值得一提的是,左值和右值的区分也同样适用于类对象,本节中将左值的类对象称为左值对象,将右值的类对象称为右值对象。
默认情况下,对于类中用 p[详细] -
C++11 shared_ptr智能指针 超级具体
所属栏目:[语言] 日期:2022-10-24 热度:9779
在实际的 C++ 开发中,我们经常会遇到诸如程序运行中突然崩溃、程序运行所用内存越来越多最终不得不重启等问题,这些问题往往都是内存资源管理不当造成的。比如:
有些内存资源已经被释放,但指向它的指针并[详细] -
C++11运用using定义别名 替代typedef
所属栏目:[语言] 日期:2022-10-22 热度:3128
大家都知道,在 C++ 中可以通过 typedef 重定义一个类型:
typedef unsigned int uint_t;
被重定义的类型并不是一个新的类型,仅仅只是原有的类型取了一个新的名字。因此,下面这样将不是合法的函数[详细] -
C++返回值类型后置 跟踪返回值类别
所属栏目:[语言] 日期:2022-10-22 热度:2530
在泛型编程中,可能需要通过参数的运算来得到返回值的类型。考虑下面这个场景:
template <typename R, typename T, typename U>
R add(T t, U u)
{
return t+u;
}
int a = 1[详细] -
Makefile常用字符串处置函数
所属栏目:[语言] 日期:2022-10-22 热度:294
学习使用函数之前,先来看一下函数的语法结构。函数的调用和变量的调用很像。引用变量的格式为$(变量名),函数调用的格式如下:
$(<function> <arguments>) 或者是 ${<function> <arguments>}
[详细] -
Makefile常用文件名运作函数
所属栏目:[语言] 日期:2022-10-22 热度:3489
我们在编写 Makefile 的时候,很多情况下需要对文件名进行操作。例如获取文件的路径,去除文件的路径,取出文件前缀或后缀等等。当遇到这样的问题的时手动修改是不太可能的,因为文件可能会很多,而且 Makefile [详细]
-
Makefile中另外的常用函数
所属栏目:[语言] 日期:2022-10-22 热度:466
之前学习过了 Makefile 中的字符串操作文件和文件名操作函数,我们今天再来看一下 Makefile 中的其他的函数。以下是这些函数的详细说明。
$(foreach <var>,<list>,<text>)
函数的功能是:把参数<list>[详细] -
C++ STL map insert 插入数据的4种办法
所属栏目:[语言] 日期:2022-10-21 热度:5709
前面讲过,C++ STL map 类模板中对[ ]运算符进行了重载,即根据使用场景的不同,借助[ ]运算符可以实现不同的操作。举个例子:
#include <iostream>
#include <map> //map
#include <string> //[详细] -
C++ STL map获取键对应值的几种方法 超具体
所属栏目:[语言] 日期:2022-10-21 热度:6567
我们知道,map 容器中存储的都是 pair 类型的键值对,但几乎在所有使用 map 容器的场景中,经常要做的不是找到指定的 pair 对象(键值对),而是从该容器中找到某个键对应的值。
注意,使用 map 容器存储的[详细] -
C++ STL map容器迭代器用处详解
所属栏目:[语言] 日期:2022-10-21 热度:5840
无论是前面学习的序列式容器,还是关联式容器,要想实现遍历操作,就必须要用到该类型容器的迭代器。当然,map 容器也不例外。
C++ STL 标准库为 map 容器配备的是双向迭代器(bidirectional iterator)[详细] -
C++ STL map容器解说
所属栏目:[语言] 日期:2022-10-21 热度:3906
作为关联式容器的一种,map 容器存储的都是 pair 对象,也就是用 pair 类模板创建的键值对。其中,各个键值对的键和值可以是任意数据类型,包括 C++ 基本数据类型(int、double 等)、使用结构体或类自定义的类型[详细]
-
C++ STL pair用法说明
所属栏目:[语言] 日期:2022-10-21 热度:5836
我们知道,关联式容器存储的是“键值对”形式的数据,比如:
<"C语言教程", "http://c.biancheng.net/c/">
<"Python教程", "http://c.biancheng.net/python/">
<"Java教程", "http://c[详细] -
Java元注解作用及使用
所属栏目:[语言] 日期:2022-10-20 热度:6043
元注解是负责对其它注解进行说明的注解,自定义注解时可以使用元注解。Java 5 定义了 4 个注解,分别是 @Documented、@Target、@Retention 和 @Inherited。Java 8 又增加了 @Repeatable 和 @Native 两个注解。这[详细]
-
C++ STL 反向迭代器适配器 reverse_iterator 说明
所属栏目:[语言] 日期:2022-10-20 热度:3455
我们知道,C++ 11 的 STL 标准库提供有 4 种迭代器适配器,本节开始将一一介绍它们的功能和用法,这里先讲解反向迭代器适配器。
反向迭代器适配器(reverse_iterator),可简称为反向迭代器或逆向迭代器[详细] -
C++ STL迭代器适配器是啥
所属栏目:[语言] 日期:2022-10-20 热度:8393
通过学习 C++ STL 标准库中的容器我们知道,无论是序列式容器还是关联式容器(包括哈希容器),要想遍历容器中存储的数据,就只能用使用该容器模板类中提供的迭代器。
《C++ STL迭代器》一节提到,C++ S[详细] -
C++ STL priority_queue容器适配器剖析
所属栏目:[语言] 日期:2022-10-20 热度:8785
priority_queue 容器适配器模拟的也是队列这种存储结构,即使用此容器适配器存储元素只能“从一端进(称为队尾),从另一端出(称为队头)”,且每次只能访问 priority_queue 中位于队头的元素。
[详细] -
C++ STL queue容器适配器解析
所属栏目:[语言] 日期:2022-10-20 热度:8219
和 stack 栈容器适配器不同,queue 容器适配器有 2 个开口,其中一个开口专门用来输入数据,另一个专门用来输出数据。
这种存储结构最大的特点是,最先进入 queue 的元素,也可以最先从 queue 中出来,即[详细] -
结构型模式概述 结构型模式的分类
所属栏目:[语言] 日期:2022-10-18 热度:0
结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。
由于组合[详细] -
抽象工厂模式
所属栏目:[语言] 日期:2022-10-18 热度:0
前面介绍的工厂方法模式中考虑的是一类产品的生产,如畜牧场只养动物、电视机厂只生产电视机、计算机软件学院只培养计算机软件专业的学生等。
同种类称为同等级,也就是说:[详细] -
代理模式 代理设计模式 详解
所属栏目:[语言] 日期:2022-10-18 热度:0
在有些情况下,一个客户不能或者不想直接访问另一个对象,这时需要找一个中介帮忙完成某项任务,这个中介就是代理对象。例如,购买火车票不一定要去火车站买,可以通过 12306 网站或者[详细]
-
创建型模式应用实验
所属栏目:[语言] 日期:2022-10-18 热度:0
创建型模式(Creational Pattern)的主要特点是将对象的创建与使用分离,根据对象的创建与组合方式的不同,创建型模式可分为单例(Singleton)模式、原型(Prototype)模式、工厂方法([详细]
-
建造者模式 Bulider模式 详解
所属栏目:[语言] 日期:2022-10-18 热度:0
在软件开发过程中有时需要创建一个复杂的对象,这个复杂对象通常由多个子部件按一定的步骤组合而成。例如,计算机是由 CPU、主板、内存、硬盘、显卡、机箱、显示器、键盘、鼠标等部件组[详细]
-
Spring MVC重定向及转发
所属栏目:[语言] 日期:2022-10-18 热度:0
Spring MVC 请求方式分为转发、重定向 2 种,分别使用 forward 和 redirect 关键字在 controller 层进行处理。
重定向是将用户从当前处理请求定向到另一个视图(例如 JSP)或[详细] -
Spring MVC实行流程
所属栏目:[语言] 日期:2022-10-18 热度:0
在学习框架之前,首先来了解一下 Spring MVC 框架的整体请求流程和使用到的 API 类。
Spring MVC 涉及到的组件有 DispatcherServlet(前端控制器)、HandlerMapping(处理器[详细] -
Spring MVC传递数据
所属栏目:[语言] 日期:2022-10-18 热度:0
Spring MVC Controller 接收请求参数的方式有很多种,有的适合 get 请求方式,有的适合 post 请求方式,有的两者都适合。主要有以下几种方式:
通过实体 Bean 接收请求参数
[详细]
