C++之const关键字
C++学习 之 const的使用1.const用于声明一个常量,这个量在代码中应该不能被更改。就像下面这样:
123const float c = 3.14;//You can not do this:c = 10;//error!
像上述这样的常量声明看上去这个常量非常的稳定且“坚固”,但实际上,我们可以做一件非常有趣的事情像下面这样:
123456const int c = 10;int* a = new int;a = (int*)&c;a = 1;std::cout<< b <<std::endl;//results is 1
非常有趣的事情发生了,指针a居然修改了常量c的值!我们通过引用c的值再获取c的地址的方式成功修改了c的值,引用类型强制转换成指针类型,这让我们成功的通过赋值让指向了c,这表明了在C++中的常量并不是完全无法更改的,他只是一种代码规则而不是程序规则。2.const在C++的类中也有一些有趣的用法。 同样的,在类中我们一样可以声明成员常量。但是不同于C的是, ...
C++之成员初始化列表
C++学习 之 成员初始化列表 在类中,我们经常使用构造函数去初始化我们的成员变量以及进行一系列初始化操作,比如这样:
12345678910111213141516171819202122class Entity{ public: int m_X,m_Y; std::string m_Name; public: Entity() { } Entity(std::string& name) { int m_X = 1; int m_Y = 1; m_Name = name; }}int main(){ Entity e("LSJ"); std::cout<< e.m_Name <<endl;}
我们也可以使用另一 ...