C++
win_turn
坚持
展开
-
三目运算符在C语音和C++语言中的区别
区别1、三目运算符的返回类型不同。C语言中,三目运算符返回的是变量值,不能作为左值使用。 C++中,三目运算符直接返回变量本身,因此可以作为左值使用。例如:int a = 2;int b = 3;(a>b?a:b) = 9;这里例子可以在C++中使用,但是在C语言中,三目运算符返回的是整数常量,不能作为左值使用。 注意:在C++中,三目运算符作为左值的前提是 返回值是变量。 例如,下原创 2016-02-23 22:24:24 · 1237 阅读 · 0 评论 -
C++中const实现原理
抛出问题#include <iostream>using namespace std;int main(){ const int i = 8; int *pt = (int *) &i; *pt=5; cout<<*pt<<endl; cout<<i<<endl; system("pause"); return 0;}输出内容: 5原创 2016-02-23 23:03:14 · 1062 阅读 · 0 评论 -
const修饰类的成员函数
《Effective C++》里面说,尽量使用const,const修饰变量一般有两种方式:const T a,或者 T const *a,这两者都是一样的,主要看const位于的左边还是右边,这里不再赘述,主要来看一下当const修饰类的成员函数时,成员函数有什么特点。类的成员函数后面加 const,表明这个函数不会对这个类对象的数据成员(准确地说是非静态数据成员)作任何改变。在设计类的时候,一个转载 2016-02-25 02:31:08 · 1391 阅读 · 0 评论 -
C++类static、const和static const 以及它们的初始化
const定义的常量在超出其作用域之后其空间会被释放,而static定义的静态常量在函数执行后不会释放其存储空间。static表示的是静态的。类的静态成员函数、静态成员变量是和类相关的,而不是和类的具体对象相关的。即使没有具体对象,也能调用类的静态成员函数和成员变量。一般类的静态函数几乎就是一个全局函数,只不过它的作用域限于包含它的文件中。在C++中,static静态成员变量不能在类的内部初始化。在转载 2016-02-26 00:56:39 · 1069 阅读 · 0 评论