C++
Z1923278901
这个作者很懒,什么都没留下…
展开
-
namespace
namespace用于对全局命名空间的再一次划分,namespace的声明及namespace中可以包含的内容。namespace NAMESPACE{全局变量 int a;函数 void function(); 数据类型 struct Stu{};其他命名空间 namespace}命名空间的使用方法1.直接指定命名空间 NAMES原创 2016-04-12 15:42:00 · 956 阅读 · 0 评论 -
C++中const的用法
1.const 用于修饰数据成员,成员函数,类对象2.当const 修饰数据成员的时候,初始化可放在参数列表中。(其实也可以放在声明处,但是并不推荐这样使用。)被const修饰的数据成员,不能被修改。3.当const修饰成员函数的时候,有如下几种格式:class A{public:const int fun();//1int const fun();//2int f原创 2016-04-27 17:51:25 · 422 阅读 · 0 评论 -
static
static能够修饰成员变量和成员函数。对象的空间大小不包含静态成员变量的大小。C++在物理中将函数和数据分开,对象的大小就是数据的大小(若没有数据,则对象的大小为1,不为0),所有函数是共用的,通过this指针区别,从而进行不同对象调用不同的函数。但是对象的大小不包含静态成员数据的大小,而静态成员函数中也不能使用this指针。所有对象共用数据和函数。1.当static修饰成员变量的时候,原创 2016-04-27 20:04:41 · 270 阅读 · 0 评论 -
C++运算符重载
C++能够重载绝大部分运算符,其中有4个运算符不能被重载,如下表所示:.成员选择符.*成员对象选择符::域解析操作符?:条件操作符下面写出重载"+"运算符的示例:#include class OverLoad{public: OverLo原创 2016-06-12 17:49:26 · 385 阅读 · 0 评论 -
C++智能指针
由于C++使用指针时,会有可能由于程序员的原因产生内存泄露的问题。例如下面一段程序:#include class A{public: A() { std::cout"A()"std::endl; } ~A() { std::cout"~A()"std::endl;原创 2016-06-14 09:40:16 · 328 阅读 · 0 评论 -
C++类型强制转换
C++有以下几种类型转化:1.static_cast2.reinterpret_cast3.const_cast4.dynamic_caststatic_cast:用于隐式类型的转化。如:float a = 3.5;int b = 5;int *p = NULL;a = static_cast(b);b = static_cast(a);原创 2016-04-11 16:50:24 · 410 阅读 · 0 评论 -
C++模板
C++有STL模板,我们使用模板能够提高开发的效率,而且模板内部的算法实现比我们一般实现的算法要更加的安全和效率高。看如下一段代码:#include void swap(int& i, int& j){ int temp = i; i = j; j = temp;}void swap(float& i, float& j){原创 2016-06-30 14:09:26 · 326 阅读 · 0 评论 -
C++异常
我们在处理异常有不同的方式:在C语言中我们可以利用参数的值,来判断是否执行成功或是否有异常情况,如下面简单的代码示例:#include #include #define SIZE 1024void getMemory(char** p){ *p = (char*)malloc(SIZE);}int main(){原创 2016-07-05 19:33:37 · 275 阅读 · 0 评论