1.inline函数背后的整体观念是,将“对此函数的每一个调用”都以函数本体替换之。inline在大多数C++程序中是编译期行为,所以inline函数通常一定被置于头文件内,因为在编译过程中进行inlining,讲一个函数调用替换为被调用函数的本体,编译器必须知道那个函数长什么样子。记住,inline只是对编译器的一个申请,不是强制命令。大部分编译器拒绝将太过复杂的(带有循环和递归)的函数inli...
分类:
其他好文 时间:
2015-03-03 13:38:07
阅读次数:
139
一般情况下,#pragma message( messagestring )是在编译期间,将一个文字串(messagestring)发送到标准输出窗口。典型的使用方法是在编译时报告和显示信息。下面的代码段是编译期间在标准输出窗口显示一条消息:...
分类:
其他好文 时间:
2015-02-27 10:19:25
阅读次数:
123
C#中的字符串驻留熟悉.NET的人都应该知道C#中的字符串驻留机制,.NET维护了一个驻留池,它会把在编译期间就相同的字符串只保留一份拷贝。如果仅在运行期间值才相同的字符串变量,.NET不会为这个2个相同的字符串变量指向同一份引用的。不过.NET提供了一个方法,让开发人员可以强..
分类:
编程语言 时间:
2015-02-26 11:52:21
阅读次数:
207
C++拾遗--模板元编程
前言
模板元是用于递归加速的,把运行期的函数调用变到编译期进行代码展开,类似于内联函数。下面看一个实例:斐波那契数列第n项求解。
模板元编程...
分类:
编程语言 时间:
2015-02-19 16:22:17
阅读次数:
284
1、如何引用一个已经定义过的全局变量答:extern可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变量,假定你将那个编写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在链接期间报错。...
分类:
其他好文 时间:
2015-02-14 18:50:56
阅读次数:
154
转自:http://www.cppblog.com/thesys/articles/116985.html简介C++0x中引入了static_assert这个关键字,用来做编译期间的断言,因此叫做静态断言。其语法很简单:static_assert(常量表达式,提示字符串)。如果第一个参数常量表达式的...
分类:
编程语言 时间:
2015-02-13 18:17:24
阅读次数:
235
1、所谓在编译期间分配空间指的是静态分配空间(相对于用new动态申请空间),如全局变量或静态变量(包括一些复杂类型的常量),它们所需要的空间大小可以明确计算出来,并且不会再改变,因此它们可以直接存放在可执行文件的特定的节里(而且包含初始化的值),程序运行时也是直接将这个节加载到特定的段中,不必在程序...
分类:
其他好文 时间:
2015-02-13 09:15:14
阅读次数:
217
代理模式:使用环境无法直接使用对象A(委托对象),可以使用对象B(代理对象)调用对象A已达到直接调用对象A的效果,就成为代理模式。其中A为委托对象,B为代理对象。静态代理的优缺点:优点:1、代码只管,可以清楚理解委托雷以及代理类。2、在编译期加入,提前就指定好了委托类,代理类,效率高。缺点:1、静态...
分类:
编程语言 时间:
2015-02-10 18:35:33
阅读次数:
277
1. 重写 PK 重载理解
1.1 函数重载
必须在同一个类中进行
子类无法重载父类的函数,父类同名函数将被名称覆盖
重载是在编译期间根据参数类型和个数决定函数调用
1.2 函数重写
必须发生于父类与子类之间
并且父类与子类中的函数必须有完全相同的原型
使用vi...
分类:
编程语言 时间:
2015-02-08 20:47:08
阅读次数:
320
原地址:http://www.cppblog.com/chemz/archive/2007/06/05/25578.html 至从C语言开始enum类型就被作为用户自定义分类有限集合常量的方法被引入到了语言当中,而且一度成为C++中定义编译期常量的唯一方法(后来在类中引入了静态整型...
分类:
编程语言 时间:
2015-02-07 22:57:27
阅读次数:
193