c++ primer plus总结(一)

我是从开学开始学c++ 

现在已经及其混乱

整理一下思路

总结一下与c的不同

1.输入用cin,输出用cout

字符串:cin.getline(name,20) 将20个元素读入name

              cin.get(name,size);

              cin.get();   //第一行有换行符,在这里读取,不然下一个就只会读取换行符

              cin.get(other,size);

              以上可以用    cin.getline(name,size).getline(other,size);    代替

string: cin>>st1;

          cout<<st1;

          strcpy(st1,st2);     //2复制到1

          strcat(st1,st2);      //将2附加到1末尾

          strlen(st1);            //st1的长度

new是堆或者自由存储区分配,常规变量是在栈分配。

自动存储是常规变量存储,函数调用时产生,结束时消亡,静态变量整个执行期间的变量(static),动态存储就是用new和delete。

vector是动态数组的替代品 array是定长数组的替代品。

strcmp(str1,str2) 如果相等返回false,不相等返回true。

文件输入,使用头文件fstream,ofstream命名,将其关联,例如cout,然后就能使用"<<",使用完之后用close()关闭,读取把o改成i。

引用变量:   int a; int & b=a;//int & 指的是指向int的引用,引用和指针能swap函数值。

ofstream是ostream的派生类,派生类继承基类方法,基类引用指向派生类对象

函数执行基本上相同的任务,但是返回值的数据形式不同的时候用函数重载

函数模板:    template<Typename T> 函数模板自动完成重载函数的过程

默认情况在c++的链接性为外部,可在文件中共享,但是使用static关键字,他的链接性在内部,被限制在定义他的文件中

五大内存分区:堆(手动申请释放new)、栈(函数参数记局部变量)、全局/静态存储区(静态变量全局变量和常量)、自由存储区和常量存储区(字符串常量和常变量)。

c++标识符的作用域分为三级:代码块({…}和函数体)、类域和全局作用域,在类作用域和全局作用域之间,C++标准又添加了名字空间域这一个作用域级别。不能在命名空间的定义中声明(另一个嵌套的)子命名空间,只能在命名空间的定义中定义子命名空间。namespace a=b;   //重定义命名



猜你喜欢

转载自blog.csdn.net/qq_33414553/article/details/79737265