1. 转型语法有三种,C风格转型:(T)expression函数风格转型:T(expression)两种方式除了小括号位置不同没有差别,可以称为"旧式转型".C++提供四种新式转型: const_cast(expression): 将const变量引用或指针转为非const引用或指针,移除变量的常....
分类:
编程语言 时间:
2015-09-01 01:43:38
阅读次数:
161
我们知道类中经常要用到拷贝构造函数,但是在使用的时候有没有想过,为什么他的参数必须是引用? 不是引用不行么?...
分类:
其他好文 时间:
2015-08-25 12:01:44
阅读次数:
213
条款一 了解模板类型推断基本情况首先定义函数模板和函数调用的形式如下,在编译期间,编译器推断T和ParamType的类型,两者基本不相同,因为ParamType常常包含const、引用等修饰符templatevoid f(ParamType param); // 函数模板形式f(expr); // ...
分类:
编程语言 时间:
2015-08-11 23:22:44
阅读次数:
250
一、const 用法总结
1、可以对const 的用法做个小总结:
const int n = 100; //定义常量
const Test t(10);
const int & ref = n; //const引用
int& ref = n; //Error
【const与指针】
const int...
分类:
编程语言 时间:
2015-08-03 22:40:12
阅读次数:
241
Google C++ Coding Style定义输入参数以值或者const引用形式传入,输出参数使用指针。 所有以引用形式输入参数必须加上const,即const T&的形式。即如下形式:void Foo(const string &in, string *out);在如下情况下, 可以使用const T*的形式:
* 需要进行指针的判空 (即空指针是合理的)。
* 需要使用到输入参数的指针或引用形式...
分类:
编程语言 时间:
2015-07-29 06:30:20
阅读次数:
125
void print1(int a){ cout<<a<<endl;}void print2(const int& a){ cout<<a<<endl;}void print3(int& a){ cout<<a<<endl;}int main(){ int a = 10; ...
分类:
其他好文 时间:
2015-04-23 19:17:52
阅读次数:
129
1.const关键字
当我们定义一种变量,不希望改变其值的时候,使用const关键字来修饰。即常量。使用的时候一定要注意,定义一个常量的时候一定要初始化,且只能在初始化的时候赋值,之后不能进行修改。
2.const引用
这个地方经常纠结,这次一定要搞懂。
常量引用不是引用是个常量,而是引用的对象是个常量。检测常量引用。实际上是对const的引用。
事实上,C++的引用本身就是一个常量,因...
分类:
编程语言 时间:
2015-04-07 21:51:37
阅读次数:
135
1. 所有的基本数据类型都是对象,比如数值1的所说的类是 scala.Int2. 所有的运算符都是类成员方法,比如1+2调用1.+(2); 0 to 2调用 0.to(2)3. 数组的访问也是通过函数调用,array(3)4. val,var分别定义const引用和普通的引用,const的是logi...
分类:
编程语言 时间:
2015-03-11 14:42:23
阅读次数:
237
C++引用—临时变量、引用参数和const引用
如果实参与引用参数不匹配,C++将生成临时变量。如果引用参数是const,则编译器在下面两种情况下生成临时变量:
实参类型是正确的,但不是左值
实参类型不正确,但可以转换为正确的类型
左值参数是可被引用的数据对象,例如,变量、数组元素、结构成员、引用和被解除引用的指针都是左值,非左值包括字面常量和包含多项式...
分类:
编程语言 时间:
2015-02-05 13:40:49
阅读次数:
163
引用:是对象的别名,其内部存放的时一个对象的地址,通过引用可以操纵对象,引用的所有操作实际上都是应用在它所指的对象身上,包括取地址操作符。引用的一些特性:引用定义时必须被初始化,引用一旦定义就不能再指向其他对象const引用可以用不同类型的对象初始化,只要能从这种类型转换到引用类型,对于不可寻址的值...
分类:
编程语言 时间:
2015-01-24 17:17:44
阅读次数:
216