总概:
{
C:面向过程,以过程为中心,以算法为驱动
}
{
C++:面向对象,以过对象中心,以消息为驱动
个人理解:一切皆对象的思想
}
一 前言总概
1、常量变量
初始化对象与赋值是两个概念
直接初始化:int a(12);高效
复制初始化:int a = 12;
内置类型差别不大,类类型大
2、变量作用域:全局,局部,语句作用域;(文件作用域)C++多出:类作用域,命名空间作用域
3、c++中struct和class唯一区别在于struct默认成员为public而class默认private
4、头文件用来声明和类型定义,const变量如果用常量表达式定义,头文件中的同名const变量会被编译器优化为字面值常量而不分配存储空间;否则,最好用extern声明。
5、问题:引用占用内存空间吗?作为函数形参的工作原理?
二 标准库类型之string类
string vector bitset三大类
1、string类
1.1 初始化string对象
string s(2,‘C‘);其他方式和C++中内置类型一致
1.2 string对象的操作
1)empty size s[n]
2)关系操作符
> < == >= <=;
若两个一长一短string对象作比较,前边字符都匹配的话,则长string对象大于短string对象;
3)赋值操作符
4)加法操作符:即连接
+操作符左右操作数必须有一个为string类型对象;注意+操作符的结合性:左结合;
和字符串字面值的连接。
5)从string对象获取字符
string S();char c = S[S.size() - 1];
下标操作可用作左值:S[n] = ‘c‘;
下标n可计算,为unsigned型就可,但注意:越界未定义;
C++中:<cctype>头文件的函数可用来测试string对象的单个字符的属性。注意区分C标准库:<ctype.h>
原文地址:https://www.cnblogs.com/blog-yangyang/p/10114728.html