c10

来源:互联网 发布:linux是用什么语言写的 编辑:程序博客网 时间:2024/06/14 10:42

1.char a[10];为数组a不能赋值,会开辟新的存储空间;char *p = "hello";中p为指针可以赋值,但p指向的是一个常量值指向的是一个常量区空间

2.c++中的string不是以'\0'为结束符的,所以string str = "hello";中str[2] = '\0';输出str = "hello"或者str.size() = 5;与C中不同。C中常用的一些字符串函数:strlen(char *); strcpy(char *to, char *from); cin.getline(char*p, len); strcat(str1, 追加串); strcmp(char* str1, char* str2); C++用到的字符串函数:getline(cin, str); str.c_str()得到的是const char*; 

3.无名对象起到类型转换的作用

4.当类构造为私有时,此类无法被继承

5.static_cast<类型>(数据):数值间转换,有类型指针与void*之间的转换,无名对象支持的转换,类似于char a; int(a); (int)a; A(6); (A)6;这样的转换

6.const_cast<类型&>(数据):<>中为引用或指针,将常量转换为变量,如:const int i = 5; 因为转换的要改变原变量的值所以用引用,const_cast<int&>(i) = 10;转换后i仍为const型,如要改变值仍需转换

7.reinterpret_cast<类型指针>(数据):不同类型指针之间的转换,因要重新解释数据,危险!!!

8.dynamic_cast<子类*>(父类地址):<>中必须为类指针、引用或者void*,父类向子类的转换,要求父类至少有一个虚函数,失败返回null

9.类中有一个函数为虚函数,析构函数就应该为虚函数,防止不能析构子类的操作

10.友元函数,友元类friend class A,由于函数中没有this指针,友元函数中要用对象或对象指针调用相关成员变量

11.凡是所有对象公用一份的数据都要声明为静态数据成员,可以但不提倡使用对象调用静态成员,提出使用类::静态成员的方式

12.静态成员函数中没有this指针

0 0
原创粉丝点击