问题标签 [compile-time]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 如何解决 C 中的默认垃圾值?
如果我们在 C 编程中将变量声明为整数而不定义值,那么 printf 会从缓冲区打印一些垃圾值。有什么方法可以防止打印垃圾值吗?
我想检查是否可以在编译时完成某些事情?如果可能的话?
c++ - C ++ boost变体问题
我知道它boost::variant
使用boost::mpl
了它背后的东西并且有一个与 mpl 兼容的 typedef types
。
假设我有一个简单的 typedef:typedef boost::variant<bool, int> Variant;
现在我有了另一个模板函数,比如说:
我希望这个函数在两种情况下表现不同:当它的T
一部分Variant::types
和不是的时候。
显然,我必须做类似的事情
我唯一不知道的是这个CONDITION
。
现在 - 我确实认为如果T
是Variant::types
.
有人知道怎么做吗?
c++ - Modern C++ Design 中的 CompileTimeChecker 未按预期工作
我最近开始阅读 Andrei Alexandrescu 的 Modern C++ Design。阅读编译时断言后,我尝试了以下代码:
由于第 2 行,代码不应该编译,但它编译得很好。如果我将第 1 行更改为
或者
它按预期工作。我不明白。
c++ - 如何在编译时判断类是否包含某个成员函数
可能重复:
是否可以编写 C++ 模板来检查函数是否存在?
说有2个类:
我想在以下函数中使用 A 或 B 类型的对象
现在,因为有一大堆类,有些包含 GetInt(),有些不包含,我不想为每种类型编写专门化,我只想在编译时通过 ' 是否包含 GetInt()来区分它们',我该怎么做?
c++ - boost_assert 参数类实现了某个方法
假设你有一个带有参数类的模板
我想添加一个BOOST_ASSERT_MSG
来验证ConnectorClass
实现某种签名方法
在这种情况下我应该如何编写断言条件?
编辑:由于这个问题似乎没有一个明确的解决方案,我发布了一个基于答案的一些参考的带有中间结果的子问题,请按照这里
c++ - 方法编译时断言;还是行不通
我需要一种简单的方法来在模板内断言模板参数实现了一个方法(或其父类之一)。我读过概念检查库,但很难找到一个简单的例子来做像这样的简单检查。
我尝试关注其他帖子(比如这个和另一个),我已经对其进行了修改,因此我可以使其适用于许多方法类型(在我的示例中 Foo (methodName) 和 has_foo (Checker name) 将,一次正常工作,被包装为宏参数,因此它可以用于任何方法)
我目前拥有的代码是这个:
当我编译这个示例代码时(g++ 4.4.3 ubuntu 带有 -std=c++0x 选项,所以 static_assert 被识别)我得到这个:
就在那儿等一下,(注意 Connector< Bla1 > a 已被评论)我的第一个问题是:
1)我是否正确假设如果正在评估断言,则正在实例化包含模板?
编辑:由 GMan 回答:在解析期间评估 static_assert,而不是在实例化模板时评估。用 sizeof(TypeToBeChecked)==0 替换 false 使其绑定到编译时
2)我是否正确假设由于连接器模板类中的静态断言正在实例化带有 int(int, double) 签名的 has_foo,那么不应实例化单参数和无参数的特化?我的假设有什么问题?
编辑:这个假设是正确的,但现在我根据 1) 的答案进行了修复,实例化过程现在按预期运行
3)如果我取消注释 Connector< Bla1 > 一行,我希望它会失败(因为 Bla1 只有一个带有单个参数签名的 Foo 。但事实并非如此。知道可能出了什么问题吗?特别考虑到第一个链接的帖子
java - 静态数据结构
有没有办法在编译时创建 Map 或 Set 类型的数据结构?
我问这个的原因是因为我正在使用 App Engine,并且我有一些需要排序和搜索的数据结构,但它们是不变的,所以我想避免在开始时创建它们的时间成本 -向上。
java - 在java中我想生成一个编译时错误而不是运行时错误
我目前正在做这样的事情;
我想确保在我的代码中到处都有 httpStatus.get(n),n 在编译时是有效的,而不是在运行时发现。这可以以某种方式强制执行吗?(我使用纯文本编辑器作为我的“开发环境”。)
我对 Java 很陌生(本周),所以请温柔一点!
谢谢。
java - 编译时间与运行时间依赖关系 - Java
Java中的编译时依赖和运行时依赖有什么区别?它与类路径有关,但它们有何不同?
java - 在 Java 应用程序中获取构建 ID
有没有人有一个简单的建议来记录在运行时显示在应用程序标题栏中的构建 ID(在编译时生成)?
从 Eclipse 中构建,我只需要 ID,然后我可以将它传递给标题。