c++学习笔记

来源:互联网 发布:卢松松博客php版 编辑:程序博客网 时间:2024/06/02 05:31

const只能修饰member function,不能修饰非member function。若修饰普通函数,则报错:

error: non-member function XXX cannot have cv-qualifier.

const member function不能修改类的成员变量,但是可以修改其他变量,比如全局变量。


声明变量时,下面的格式是不对的:

int x();  //这样是声明一个函数

但是这样是可以的:

int x(3);  //x初始化为3


primer中提到:

 pair<int , int> p2 = {0, 42} 这样的初始化方式是不对的。

error: in C++98 'p2' must be initialized by constructor, not by '{...}'

因为有构造函数了,所以不能这样初始化了。


类中的成员函数,不仅可以访问自己的private变量,也可以访问同类型的其他对象的private对象。如:

class Foo{
public:
    Foo(int k = 0) : i(k) {}
    int Add(Foo &rhs) { return i + rhs.i; }
private:
    int i;
};


关于static_cast和reinterpret_cast,可以参考:

http://www.cplusplus.com/doc/tutorial/typecasting/

http://www.codeproject.com/KB/cpp/static_cast.aspx

原创粉丝点击