小编Fra*_*ger的帖子

无效的静态断言行为

我正在尝试使用GCC v4.3.x设置静态断言(在main函数之外):

#define STATIC_ASSERT(cond) extern void static_assert(int arg[(cond) ? 1 : -1])
STATIC_ASSERT( (double)1 == (double)1 ); // failed
Run Code Online (Sandbox Code Playgroud)

但是当我使用浮点数时,断言总是失败.

是否可以正确运行此静态断言?

c c++ floating-point gcc

2
推荐指数
1
解决办法
2537
查看次数

有没有办法访问手写笔 AST

我需要访问 stylus 生成的 CSS 样式的抽象语法树 (AST),而无需再次解析它(通过 css-parse)。我想知道生成的样式的 AST 是否公开。

css stylus abstract-syntax-tree

2
推荐指数
1
解决办法
308
查看次数

C宏将SVN修订版转换为整数

我正在寻找一个C/C++宏,它可以将随机SVN版本如"$ Revision:9 $"或"$ Revision:9999999 $"转换为整数或字符串.

我知道存在简单的函数来实现这一点,但我想在编译时创建它.

我希望写下这样的话:unsigned int rev = SVN_TO_INT("$Revision$");

c c++ svn macros c-preprocessor

1
推荐指数
1
解决办法
1672
查看次数

c ++中的安全整数转换

我想使用c ++模板创建一个简单的整数范围检查器和转换器.
代码如下所示:

// D is the "destination" type and S the "source" type
template <class D, class S>
inline D SafeConvert( S value );

template <class S>
inline int SafeConvert<int>( S value ) {

    ASSERT( value >= S(INT_MIN) && value <= S(INT_MAX) );
    return int(value);
} /// error C2768: 'SafeConvert' : illegal use of explicit template arguments


template <class S>
inline size_t SafeConvert<size_t>( S value ) {

    ASSERT( value >= S(0) && value <= S(size_t(-1)) );
    return size_t(value);
} …
Run Code Online (Sandbox Code Playgroud)

c++ templates

1
推荐指数
1
解决办法
729
查看次数

如何在iojs中获取模板字符串的原始版本

是否有可能在iojs中获取模板字符串的原始版本?

var s = `foo${1+1}bar`
console.log(s); // foo2bar
Run Code Online (Sandbox Code Playgroud)

在前面的例子中,我想得到字符串: foo${1+1}bar

edit1:我需要检测一个模板字符串是否依赖于它的上下文if if只是一个可以包含CR和LF的'常量'字符串

v8 node.js ecmascript-6

1
推荐指数
1
解决办法
161
查看次数