菜鸟笔记
提升您的技术认知

C++ 笔记 第34页

C++中struct与class的区别

菜鸟阅读 : 3064赞(1)

很多初学者或者是想当然,或者是被网上的一些错误信息给误导,面试中问到class和struct区别时经常会说class可以继承而struct不可以继承,这是完全错误的。但在C#中,class与struct确实有这点区别(当然不止这一点)。其实...

define和inline 的区别

菜鸟阅读 : 1827赞(1)

define: 定义预编译时处理的宏;    只进行简单的字符替换,无类型检测 typedef:定义类型别名 用于处理复杂类型   例: typedef int A;   则:A ...

构造函数失败

菜鸟阅读 : 2707赞(1)

  什么函数都有可能失败,构造函数也不另外,比如new一个对象或空间不成功。当构造函数失败的时候,其实很多时候我们不想这个对象被继续生成,这个时候就可以在构造函数里面抛出异常。C++规定构造函数抛出异常之后,对象将不被创建,析构函...

一个具有对象计数功能的基类

菜鸟阅读 : 2368赞(1)

  参考<<More Effective C++>>一书中的条款26:”限制某个class所能产生的对象数量”,参照”一个用来计算对象个数的基类”中的代码,简单的将里面...

简易内存池的实现

菜鸟阅读 : 3656赞(1)

  参考<<Effective C++>>一书中的条款10:”如果写了operator new就要同时写operator delete”,写了一个简易的内存池,说白了就是事先分配一块...

C++之private虚函数

菜鸟阅读 : 1939赞(1)

一般我们说虚函数,它的访问级别都是public的,用类对象可以直接调用,这样就可以实现运行时的类型绑定,那如果我们将虚函数私有化会出现什么情况呢? 我们先来看一个非虚函数私有化的例子 class Base { private: void P...

C++内存布局

菜鸟阅读 : 3170赞(1)

  一直想写一篇有关C++内存布局的文章,结合编译器VS2010来探讨C++对象模型在内存中的表现形式,主要是自己看《深度探索C++对象模型》太枯燥了,而且这本书也是较早出的,讨论的编译器都差不多过时了,所以才有这个想法,希望看官勿喷。废话...

可伸缩多线程任务队列

菜鸟阅读 : 2236赞(1)

  在我们的工作中,我们经常需要异步执行一些任务,下面介绍的这个可伸缩多线程队列,可满足我们的需求。   主要有以下几个功能:     1、任务队列是多线程,许多任务可以异步进行,任务队列使用线程池来执行任务。     2、任务队列支持优先...

C++异常处理底层机制详解

菜鸟阅读 : 1870赞(1)

在我几年前开始写《C++编码规范与指导》一文时,就已经规划着要加入这样一篇讨论 C++ 异常机制的文章了。没想到时隔几年以后才有机会把这个尾巴补完 :-)。 还是那句开场白:“在恰当的场合使用恰当的特性” 对每个称职的 C++ 程序员来说都...

C、C++数据类型所占字节数

菜鸟阅读 : 1820赞(1)

C标准中并没有具体给出规定那个基本类型应该是多少字节数,具体与机器、OS、编译器有关,比如同样是在32bits的操作系统系,VC++的编译器下int类型为占4个字节;而tuborC下则是2个字节。 所以int,long int,s...