qq18457852
qq18457852
全部文章
c++
Linux内核与操作系统(12)
linux系统编程与网络编程(31)
代码随笔(4)
分布式系统与中间件(1)
服务器架构设计(2)
深度学习(6)
网络与数据库(7)
设计模式(2)
题解(1)
归档
标签
去牛客网
登录
/
注册
qq18457852的博客
全部文章
/ c++
(共55篇)
c++内存机制
c++的内存机制在不同的编译器下是不一样的。 类所占内存的大小是由成员变量(静态变量除外)决定的,成员函数(这是笼统的说,后面会细说)是不计算在内的。 成员函数还是以一般的函数一样的存在。a.fun()是通过fun(a.this)来调用的。所谓成员函数只是在名义上是类里的。其实成员函数的大小不在...
2019-12-19
0
703
c++ assert
对于断言,相信大家都不陌生,大多数编程语言也都有断言这一特性。简单地讲,断言就是对某种假设条件进行检查。在 C 语言中,断言被定义为宏的形式(assert(expression)),而不是函数,其原型定义在<assert.h>文件中。其中,assert 将通过检查表达式 expressi...
2019-12-19
0
551
c++ 前向声明
一、使用场景 假设有两个类A和B,类A要将类B的对象(或者指针)作为自己的成员使用,并且类B将类A的对象(或者指针)作为自己可以访问的数据,那么这个时候要在a.h中include b.h,同时在b.h 中要include a.h,但是相互包含是不可以的,这个时候就要用到类的前向声明了。 ...
2019-12-19
0
1404
c++ volatile关键字
volatile关键字确保本条指令不会因编译器的优化而省略,且要求每次直接读值。 精确地说就是,编译器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子: 1)并行设备的硬件寄存器(如:状态寄存器) 2)一个中断服务...
2019-12-19
0
1165
c++ 防止类被派生,不用final如何实现
c++中没有提供类似Java的final classes那样的禁止派生的机制(c++11有final,防止类被继承) 为了避免产生虚函数表,如果类不是基类的话,析构函数就不需要声明为虚函数。 但是,我们不能预料用户的行为,你不敢肯定用户是否会从你的类去派生自己的类。如果用户以一个基类指针...
2019-12-19
0
1245
c++静态成员函数的作用
静态成员函数主要为了调用方便,不需要生成对象就能调用。 比如: class X { public: void MethodA(); static void MethodB(); } 此时MethodB可以直接调用,X::MethodB(); MethodA必须先生成类对象...
2019-12-19
0
577
c++静态成员函数与静态数据成员
对象与对象之间的成员变量是相互独立的。要想共用数据,则需要使用静态成员和静态方法。 只要在类中声明静态成员变量,即使不定义对象,也可以为静态成员变量分配空间,进而可以使用静态成员变量。(因为静态成员变量在对象创建之前就已经被分配了内存空间) 静态成员变量虽然在类中,但它并不是随对象的...
2019-12-19
1
721
c++ new
加括号调用没有参数的构造函数,不加括号调用默认构造函数或唯一的构造函数 C++在new时的初始化的规律可能为:对于有构造函数的类,不论有没有括号,都用构造函数进行初始化;如果没有构造函数,则不加括号的new只分配内存空间,不进行内存的初始化,而加了括号的new会在分配内存的同时初始化为0。 ...
2019-12-19
0
491
模板全特化
特化其实就是特殊化的意思,在模板类里,所有的类型都是模板(template<class T>),而一旦我们将所有的模板类型T都明确化,并且写了一个类名与主模板类名相同的类,那么这个类就叫做全特化类。C++模板全特化之后已经失去了Template的属性了。 #include <i...
2019-12-19
0
516
c++深拷贝和浅拷贝
例子: 老师给你们留了作业,你们班只有小A一个人会写,其他人都需要copy他的作业。 如果你们都是通过浅拷贝来完成作业,那么就相当与“在你需要的时候,小A会把作业借给你”。 例 如,老师对小B说“去把你的作业拿来给我看看”,小B赶快找小A借作业给老师看。老师又要看小C的作业,小C也只...
2019-12-19
0
463
首页
上一页
1
2
3
4
5
6
下一页
末页