D语言引入了static if , static assert , template , is 等一些语句,使得D语言可以使用编译时执行逻辑处理,同时也能进行编译时测试,这使得编译器在编译时就可以对自定义的类,结构,参数进行动态检测,这样让定义的东西有了强类型功能,牛B之作。 import std.... ...
分类:
编程语言 时间:
2016-08-02 06:37:27
阅读次数:
278
1.编译器断言 技巧大致跟后面的一样,都是利用偏特化,但是在C++ 0X里面已经有static_assert,所以感觉这东西也没什么用处了,更多的只是开阔眼界 2.偏特化 就是专门对一个类型去进行特殊的处理,毕竟template会给生成所有的类型相同的操作,但是有时候我们需要对特定的几个类型去处理, ...
分类:
编程语言 时间:
2016-07-25 09:18:40
阅读次数:
236
static_assert
声明
static_assert 声明在编译时测试软件断言,这与在运行时进行测试的其他断言机制不同。 如果断言失败,则编译也将失败,且系统将发出指定的错误消息。
const int nValue = 3;
static_assert(nValue
这样编译时就会报出Error的错误提示信息。
declty...
分类:
编程语言 时间:
2016-04-22 20:38:54
阅读次数:
271
static_assert 声明 static_assert 声明在编译时测试软件断言,这与在运行时进行测试的其他断言机制不同。 如果断言失败,则编译也将失败,且系统将发出指定的错误消息。 这样编译时就会报出Error的错误提示信息。 decltype作为操作符 用于返回表达式的数据类型。 Fun2 ...
分类:
编程语言 时间:
2016-04-20 23:37:38
阅读次数:
317
敲代码的时候经常须要调试,以下给出静态和动态断言调试以及经常使用的内置宏。 内置宏: __FILE__//输出文件名称 __LINE__//所在行 __DATE__//日期 __TIME__//时间 __FUNCTION__//函数名 static_assert( constant-expressi
分类:
其他好文 时间:
2016-02-05 11:47:04
阅读次数:
142
C++11新特性继续。
Static assertion
static_assert 是在编译时期的断言,作用不言而喻的。
语法是这样:static_assert ( bool_constexpr , string ) 其中:
bool_constexpr: 常量表达式
string: 如果bool_constexpr表达式为false, 这个string就是编译时候报的错误。看...
分类:
编程语言 时间:
2015-11-12 11:55:49
阅读次数:
226
参考《21天学通C++》第14章节,对C++中的宏和模板进行了学习,总结起来其主要内容如下:
(1) 预处理器简介
(2) 关键字#define与宏
(3) 模板简介
(4) 如何编写函数模板和模板类
(5) 宏和模板之间的区别
(6) 使用static_assert进行编译阶段检查
**************************************************...
分类:
编程语言 时间:
2015-07-30 13:34:10
阅读次数:
246
写程序的时候经常需要调试,下面给出静态和动态断言调试以及常用的内置宏。
内置宏:
__FILE__//输出文件名
__LINE__//所在行
__DATE__//日期
__TIME__//时间
__FUNCTION__//函数名
static_assert(
constant-expression,
string-literal
);
静态断言是...
分类:
其他好文 时间:
2015-06-03 21:43:06
阅读次数:
122
static_assert提供一个编译时的断言检查。如果断言为真,什么也不会发生。如果断言为假,编译器会打印一个特殊的错误信息。12345678910111213template class Vector{static_assert(Size a1;Vector a2;return 0;}1234....
分类:
编程语言 时间:
2015-05-09 16:09:31
阅读次数:
126