摘要:一、指针数组和数组指针的内存布局初学者总是分不出指针数组与数组指针的区别。其实很好理解:指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定。它是“储存指针的数组”的简称。数组指针:首先它是一个指针,它指向一个数组。在32 位系统下永远是占4 个字节,至于它指向的数组占多少...
阅读全文
摘要:vector:是一种在结尾处高效插入、删除的容器,本质上是一个动态数组,可以自动维护数组的空间分配。它也允许在开头和中间插入、删除数据,但是效率极低。#include #include #include using namespace std;void main(){ vector str_vec;...
阅读全文
摘要:赋值拷贝:#include #include using namespace std;void main(){ string a="hello world!"; string b;//完整拷贝: b = a; //C语言可以利用strcpy(des,src)将src字符数组的字符串复制到des字符数...
阅读全文
摘要:string.h中常用函数char * strchr(char * str ,char ch);从字符串str中查找首次出现字符ch的位置,若存在返回查找后的地址,若不存在则返回NULLvoid main(){ char a[100]="abcdefg"; printf("%o\n",strchr(...
阅读全文
摘要:有这样一类数字,他们顺着看和倒着看是相同的数,例如:1111,1221,2332等,这样的数字就称为:回文数字。回文数的判断有多种算法,直观一点的就是将数字顺序颠倒后再与原数字进行比较,如果相等说明该数字是回文数字,如何颠倒数字的顺序便是难点。比如一个数12345。12345 % 10 得到的是个位...
阅读全文
摘要:常量字符串:C语言中void main(){ char* p1 = "abcd"; //"abcd"是字符串常量 char* p2 = "abcd"; char* p3 = "china"; //"china"也是字符串常量 printf("p1=%o\np2=%o\np3=%o\n"...
阅读全文
摘要:静态数组:在编译期间在栈中分配好内存的数组,在运行期间不能改变存储空间,运行后由系统自动释放。int a[10];char b[10];float c[10];test a[10]; //test为自定义的类,定义一个包含十个test对象的数组以上都是静态数组的声明方式。需要注意的是静态数组是在编译...
阅读全文
摘要:什么是复制构造函数:复制构造函数是一种特殊的构造函数,顾名思义就是用于复制一个对象。主要出现在以下3种情况:(1)对象以值传递的形式作为函数参数。(2)对象以值传递的形式作为函数返回值。(2)用一个对象实例初始化一个新建对象。复制构造函数的参数列表必须包含一个该类对象的引用而且可以包含有默认值的其他...
阅读全文
摘要:定义形式:void fun(int a = 1 ,int b = 2 ,int c = 3 ,int d = 4){ //函数定义 cout<<"a="<<a<<endl; cout<<"b="<<b<<endl; cout<<"c="<<c<<endl; cout<...
阅读全文
摘要:const修饰函数在类中将成员函数修饰为const表明在该函数体内,不能修改对象的数据成员而且不能调用非const函数。为什么不能调用非const函数?因为非const函数可能修改数据成员,const成员函数是不能修改数据成员的,所以在const成员函数内只能调用const函数。#include u...
阅读全文
摘要:const修饰基本数据类型#include using namespace std;void main(){ const int a = 1; const char b = 'k'; const float c = 3.14f; //a = 2; //b = 'n'; //c = 1.2f;}c...
阅读全文
摘要:创建对象有以下四种形式:#include using namespace std;class A{private: int i;public: A(){ coutusing namespace std;class A{private: int i;public: A(){ coutusing nam...
阅读全文