compile-time 相关问题

指的是在编译源代码时可以推断或知道的信息,而不是只能在运行源代码时推断出的信息。不要使用此标记来解决编译源代码所需的时间。


检查模板参数是概念中固定长度的容器

template <typename T, size_t N> concept fixed_container = requires (T const& t) { {std::size(t)} -> std::same_as<size_t>; {std::begin(t)}; {std::end(t)}; } //&& std::declval<T>().size() == N // Error: 'declval() must not be used!' //&& T::size() == N // Error: 'call to non-static member function without an object argument' ; // These should all be correct static_assert( fixed_container<std::array<double, 3>, 3>); static_assert(!fixed_container<std::array<double, 3>, 4>); static_assert( fixed_container<std::span<double, 3>, 3>); static_assert(!fixed_container<std::span<double, 3>, 4>); static_assert( fixed_container<double[3], 3>); static_assert(!fixed_container<double[3], 4>);

回答 1 投票 0


创建通过调用 C++ 17 中的 constexpr 函数填充的 constexpr 映射

我有一个 constexpr 函数,可以在编译时计算 CRC。我需要在该函数生成的 CRC 和字符串输入之间创建一个映射,并在运行时使用它们(如果它更好...

回答 1 投票 0

有没有办法阻止在编译时完全包含没有头保护的头文件?

我试图禁止包含源文件中的头文件列表,从而防止对这些头文件中定义的类的依赖。 检查头护罩有技巧...

回答 1 投票 0

如何使用initializer_list构造函数推导编译时矩阵类的二维?

#包括 #包括 模板 类矩阵 { 受保护: std::array,行>矩阵; 噗...

回答 1 投票 0

调用者的编译时验证,或者是否可以扩展 C# 编译器?

考虑这个方法和描述: [描述(“必须从属性调用它,否则会出现运行时错误。”)] 受保护的 T 负载() { 返回InternalLoad(); } 德...

回答 1 投票 0

在 C 中编译时填充数组

我有一些嵌入式 C 代码,我想要一个正弦值列表。我在 C++ 中使用 constexpr 函数做了类似的事情,该函数在主循环之外返回 std::array : #包括...

回答 1 投票 0

在 Java 中:涉及实例化时定义的常量的表达式在编译时会得到简化吗?

正如我的标题中所总结的,我想知道涉及实例化时定义的常量的表达式是否在编译时得到简化? 例如,我有一个堆类,其中有一个最终的

回答 2 投票 0

编译时变量的唯一哈希值

有没有什么方法可以在编译时为每个变量创建唯一的哈希值。 C++ 允许块作用域,这可能会在一个函数内产生相同的命名变量,所以我不能这样做: #定义宏(...

回答 1 投票 0

左值是在编译时确定的吗?

在我的理解中,左值只是一个位置,其对应的右值是存储在该位置的值。例如: 整数x; x = 0; /* 编译器会将 x 替换为位置 w...

回答 2 投票 0

如何在 C++ 的编译时上下文中将值重新解释为字节

我正在尝试实现一个可以在编译时使用的哈希函数。为了实现这一点,我需要将一个值(例如,int 或 float)重新解释为其原始字节。但是,当使用编译时

回答 1 投票 0

C++ 编译器输出

我想知道是否有一个工具/GCC 编译开关可以用来在运行前查看 GCC 编译器的跟踪/输出。一般来说,我希望有一个注释工具...

回答 1 投票 0

带有绑定参数的可调用对象的 std::variant 容器,不使用动态内存

我想在容器(例如 std::array)中存储几个不同的可调用对象(不同类型),以便稍后调用它们。 每个可调用函数都有相同的返回类型和相同的金额以及...

回答 1 投票 0

在GCC中,有没有办法以编程方式查询变量将存储在哪个部分?

我正在处理一些针对不寻常嵌入式系统的代码,该系统需要不同的处理器指令才能从其只读存储器中读取数据。 对于要放置在所述只读备忘录中的变量...

回答 1 投票 0

在C#中,如何在编译时限制谁可以调用方法

在C#中,是否可以在编译时限制谁可以调用方法? 我研究过指令,但这不起作用,因为我无法为符号赋值。 #define WHO VisualStudioUser.Cur...

回答 4 投票 0

const 对数组值的迭代

在 Rust 中,可以迭代数组的值: 常量 COOL_NUMBERS: [i32; 4] = [1, 3, 3, 7]; fn do_something_cool() { 对于 COOL_NUMBERS 中的号码 { // ... } } 但它是...

回答 1 投票 0

可以在编译时创建QString吗?

考虑下面的代码: 静态 constexpr QString FOO = QStringLiteral("foo"); // 编译错误,因为 QString 没有默认的析构函数。 我如何在编译时创建 QString!?是吗

回答 2 投票 0

在编译时禁用 Java 日志记录

我有一些 Java 代码,我想使用日志消息来检测它们以进行调试。然而,最终(编译的)生产代码不应包含任何日志记录,因为它会减慢速度

回答 10 投票 0

让 C# 编译器相信执行将在成员返回后停止

我认为目前这是不可能的,或者这是否是一个好主意,但这是我刚才正在考虑的事情。 我使用 MSTest 对我的 C# 项目进行单元测试。 在我的一项测试中,我做了

回答 5 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.