C++ primer 第七章记录

1:

void 可以指向任何类型的对象,但是不能直接操作所指向的对象*

2:

常量指针可以指向非常量对象

double dval = 3.14;

const double *cptr = &dval;

合法,const double *只是让指针自以为指向常量,所以自觉不会改变所指向的值

3

抽象的数据类型要有一些操作以供类的内部成员使用

4

全局变量和静态变量 编译器会自动对其初始化而普通变量只会分配空间,值是不确定的**

全局变量+extern关键字 = 其他项目也可以用到这个全局变量

全局变量+static关键字 = 静态全局变量仅对当前文件可见,其他文件不可访问,其他文件可以定义与其同名的变量,两者互不影响。

函数 +static关键字 =

  • 静态函数只能在声明它的文件中可见,其他文件不能引用该函数
  • 不同的文件可以使用相同名字的静态函数,互不影响
5

a) 一个类必须至少提供一个构造函数。
(b) 默认构造函数是参数列表为空的构造函数。
(c) 如果对于类来说不存在有意义的默认值,则类不应该提供默认构造函数。
(d) 如果类没有定义默认构造函数,则编译器将为其生成一个并把每个数据成员初始化成相应类型的默认值。
(a)不正确,没有构造函数时,有时可以生成默认构造函数;
(b)不正确,如果某个构造函数包含若干形参,但是同时为这些形参都提供了默认实参,则该构造函数也具备默认构造函数的功能;
(c)不正确,默认构造函数在一些情况下非常重要;
(d)不正确,当类没有显式地定义构造函数时,编译器才会隐式地定义默认构造函数。

6

静态成员变量被所有对象所共享

静态成员函数,不包含this指针,因此不能声明为const的

静态数据成员可以是不完全类型

静态成员数据可以作为默认实参,而非静态数据成员不能作为默认实参

posted @   xiazichengxi  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示
主题色彩