摘要:1.连续内存序列容器(vector,string,deque) 序列容器的erase方法返回值是指向紧接在被删除元素之后的元素的有效迭代器,可以根据这个返回值来安全删除元素。 vector<int> c;for(vector<int>::iterator it = c.begin(); it !=
阅读全文
摘要:转自:https://www.cnblogs.com/chenyangchun/p/6795923.html 1. c强制转换与c++强制转换 c语言强制类型转换主要用于基础的数据类型间的转换,语法为: c++除了能使用c语言的强制类型转换外,还新增了四种强制类型转换:static_cast、dyn
阅读全文
摘要:现实中,C++的库门类繁多,解决的问题也是极其广泛,库从轻量级到重量级的都有。本文为你介绍了十一种类库,有我们常见的,也有不常见的,一起来看。 现实中,C++的库门类繁多,解决的问题也是极其广泛,库从轻量级到重量级的都有。本文为你介绍了十一种类库,有我们常见的,也有不常见的,一起来看。 如果你有一定
阅读全文
摘要:转自:https://blog.csdn.net/jxw167/article/details/72864554 C ++库提供以下类型的智能指针的实现: auto_ptr unique_ptr shared_ptr weak_ptr 它们都是在内存头文件中声明。 auto_ptr 从C ++ 11
阅读全文
摘要:转自:https://blog.csdn.net/xiangxianghehe/article/details/78793300 原型模式 在C++中,要拷贝一个对象,除了自定义一个拷贝构造函数来实现对象复制外,还可以实现一个clone函数。这需要借助编译器实现的一个隐藏拷贝构造函数,这样的做法,更
阅读全文
摘要:转载自:https://www.cnblogs.com/yangxudong/p/3872053.html C++中的operator主要有两个作用,一是操作符的重载,一是自定义对象类型的隐式转换。对于操作符的重载,许多人都不陌生,但是估计不少人都不太熟悉operator的第二种用法,即自定义对象类
阅读全文
摘要:模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数、返回值取得任意类型。 模板是一种对类型进行参数化的工具; 通常有两种形式:函数模板和类模板; 函数模板针对仅参数类型不同的函数; 类模板针对仅数据成员和成员函数类型不同的类。
阅读全文
摘要:在C语言中,关键字static的意思是静态的,有3个明显的作用: 1. 在函数体内,静态变量具有记忆作用,即一个被声明为静态的变量在这一函数被调用的过程中其值维持不变。 2. 在模块内(但在函数体外),它的作用域范围是有限制的,如果一个变量被声明为静态的,那么该变量可以被模块内所有的函数访问,但不能
阅读全文
摘要:一 编写动态链接库DLL DLL简称动态链接库,是Windows中程序的重要组成部分。 在DLL工程中编写如要定义的函数,并用extern "C" __declspec(dllexport) 声明,如下所示: extern "C" __declspec(dllexport) __stdcall in
阅读全文
摘要:virtual用法一 #include using namespace std;class A{public: virtual void display(){ cout<<"A"<<ENDL; } };class B : public A{public: void display(){ cout<<
阅读全文
摘要:1、通过栈传递,被调用的函数在返回前清理传送参数的内存栈,但不同的是函数名的修饰部分(关于函数名的修饰部分在后面将详细说明)。 _stdcall是Pascal程序的缺省调用方式,通常用于Win32 Api中,函数采用从右到左的压栈方式,自己在退出时清空堆栈。VC将函数编译后会在函数名前面加上下划线前
阅读全文
摘要:1、循环校验码(CRC码):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。2、生成CRC码的基本原理:任意一个由二进制位串组成的代码都可以和一个系数仅为‘0’和‘1’取值的多项式一一对应。例如:代码1010111对应的多项式为x6+x4+x2+x+1,而多项式...
阅读全文
摘要:对于变量:extern int a; //声明一个全局变量aint a; //定义一个全局变量aextern int a =0 ;//定义一个全局变量a 并给初值。一旦给予赋值,一定是定义,定义才会分配存储空间。int a =0; //定义一个全局变量a,并给初值,声明之...
阅读全文
摘要:我们编写一个求一个数平方的运算,#define宏定义实现如下:#define SQUARE1(X) X*Xinline内联函数实现如下:inline int SQUARE2(int X){return X*X;}END步骤2——定义所需变量1首先定义所需变量:int a=5,b=5;int s1=0...
阅读全文
摘要:程序的内存分配: 一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)——由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)——一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回...
阅读全文
摘要:1. this指针的用处: 一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。也就是说,即使你没有写上this指针,编译器在编译的时候...
阅读全文
摘要:1、线程的创建、终止及控制:任何进程在启动时就已有了一个主线程,如果需要再生成线程则使用pthread_create函数,在该函数中可以指定线程的属性、线程例程、传给线程例程的参数。线程例程是一个用户自定义的函数,及线程执行的代码。当线程例程返回时,线程则结束运行,也可以显示调用pthread_ex...
阅读全文