C++表达式返回的是左操作数 而不是表达式的值 这和C不一一样。
如下:
int a;
c++下可以
(a = 19) = 12;
c下错误.
ctrl + d文件结束 = EOF
在c++中把 负数付给 unsigned是合法的
float 6wei精度
double 10精度
c++中 标识符不能包含两个连续的下划线,也不能以下划线开头后紧跟一个大写字母。
const 是默认文件局部变量只在定义文件可用。
要使之在边的文件可用 要显示定义extern
必须在定义引用时进行初始化
int &r = 32; 不合法
const int &r = 32; 合法
can: enum Point { A =1 ,B = 1,..}
C++中 struct和class都用于定义类
不同的是 在第一个访问标号前的任何成员都隐式指定为private 而 struct被指定为public
任何vector长度变化之后都不能在依赖 之前的iterator 的值了
c++数组的个数可以有用变量吗??????
new xx[0] 返回有效的非零指针!. 和 malloc()一样 返回的是堆栈的顶的当前位置
隐形转换的问题:
unsigned a = 0;
if( a < -1)
printf("0 < -1");
else
printf("0 > -1");
会输出什么呢??????
返回引用的函数返回的是左值 可以有如下效果:
int &fun(int &a)
{ return a;}
int main(){ int a; fun(&a) = xx; } //等同于 a = xx;
内联函数必须方在头文件中,因为为了展开函数 编译器需要知道 函数的定义!。
c++中流的 open("")使用的是c风格的字符串, string的字符串可以通过用函数.c_str()转为c
风格的。例:
strint str;
str.c_str();
在class的定义中可以
用typedef 指定局部类型名.
class name;申明但没有实现的类 是一个不完全类型
同struct 一样,class中不能有自身,只能有指向自己的指针和引用,
引用的内部实现???????
class类有引用》?????
引用本生 就是指针的转化
可变成员可以通过申明为 mutabel来表示
构造函数初始化列表只能在构造函数定义中指定。
可以在初始化列表中初始化const型变量 但不能用传参给
它赋值,。
成员初始化顺序是按它们定义时的顺序决定的。
explicit可以抑制构造函数定义的隐式转换。
类的中各个部分的存储区域。 static只出现在类的申明部分。
可通过将复制构造函数定义为private来阻止该对象的复制行为。
operator++() == ++i
operator++(int) == i++
转换操作符: operator type() {return type xx;};
protected 外可以不可以访问 , 内部可以访问。
type fun() const = 0; 一个纯虚函数。
定义模板: template
int compare(const T &v1, const T &v2){}
int (*p)(const int&,const int &) = compare;
class xxx: virtual public xxx{} 虚继承为了解决多继承下重复继承基类的
情况。
typeid(exception)返回表达式类型。
阅读(641) | 评论(0) | 转发(0) |