【C++自我精讲】基础系列六 PIMPL模式
摘要:【C++自我精讲】基础系列六 PIMPL模式0 前言很实用的一种基础模式。1 PIMPL解释 PIMPL(Private Implementation 或 Pointer to Implementation)是通过一个私有的成员指针,将指针所指向的类的内部实现数据进行隐藏。2 PIMPL优点举例:/...
阅读全文
posted @
2014-08-12 22:36
joinclear
阅读(9974)
推荐(4) 编辑
【C++自我精讲】基础系列五 隐式转换和显示转换
摘要:【C++自我精讲】基础系列五 隐式转换和显示转换0 前言1)C++的类型转换分为两种,一种为隐式转换,另一种为显式转换。2)C++中应该尽量不要使用转换,尽量使用显式转换来代替隐式转换。1 隐式转换定义:隐式转换是系统跟据程序的需要而自动转换的。1)C++类型(char,int,float,long...
阅读全文
posted @
2014-07-17 01:28
joinclear
阅读(3099)
推荐(0) 编辑
【C++自我精讲】基础系列四 static
摘要:【C++自我精讲】基础系列四 static0 前言变量的存储类型:存储类型按变量的生存期划分,分动态存储方式和静态存储方式。1)动态存储方式的变量,生存期为变量所在的作用域。即程序运行到此变量时才为其分配存储空间,作用域结束时,会自动收回为其分配的存储空间。2)静态存储方式的变量,生存期为整个程序执行的过程。即程序开始时就为其分配存储空间,程序结束时,才会收回为其分配的存储空间。4种变量的存储类型:1)自动类型(auto):动态存储方式的变量,局部变量,auto常常省略。2)寄存器类型变量(register):动态存储方式的变量,编译器不为此类型变量分配存储空间,而是直接使用CPU的寄存器。存
阅读全文
posted @
2013-07-14 23:52
joinclear
阅读(1535)
推荐(3) 编辑
【C++自我精讲】基础系列三 重载
摘要:【C++自我精讲】基础系列三 重载0 前言分二部分:函数重载,操作符重载。1 函数重载函数重载:指在同一名字空间中,函数名称相同,参数类型、顺序或数量不同的一类函数,同一函数名的函数能完成不同功能。//非函数重载,只是返回值不一样void Fun(int i);int Fun(int i);//非函数重载,不在同一名字空间namespace A{ int Add(int i, int j); };namespace B{ float Add(float i, float j); };//函数重载int Add(int i, int j); float Add(float i, f...
阅读全文
posted @
2013-07-09 23:45
joinclear
阅读(997)
推荐(1) 编辑
【C++自我精讲】基础系列二 const
摘要:【C++自我精讲】基础系列二 const0 前言分三部分:const用法、const和#define比较、const作用。1 const用法const常量:const可以用来定义常量,不可改变,const常量在定义时必须初始化(extern修饰时是特例)。//const常量const int Number = 100;extern const int Number; const指针: 1)const出现在*号左边,表示被指物是常量(不可以改变);注意:const写在类型之前和写在类型之后且*号之前是一样的。 2)const出现在*号右边,表示指针自身是常量(不可以改变); 3)const出现在
阅读全文
posted @
2013-07-08 23:50
joinclear
阅读(1427)
推荐(4) 编辑
【C++自我精讲】基础系列一 指针与引用
摘要:【C++自我精讲】基础系列一 指针与引用0 前言指针、引用、指针与引用区别。1 指针变量:代码中常常通过定义变量来申请并命名存储空间,并通过变量的名字来使用这段存储空间。//变量int nNum; //声明名字为nNum的int型存储空间nNum = 100; //nNum存储值100nNum = 200; //改变nNum存储值200指针:又叫一级指针,用来指示一个内存地址的变量。对于一个类型T(int、char、folat...),T*就是指向T的指针类型,一个T*类型的变量保存了一个T对象的地址。//指针int *pNum; //定义指针pNumpNum = &nNum;/...
阅读全文
posted @
2013-06-30 23:56
joinclear
阅读(2230)
推荐(2) 编辑