คำถามติดแท็ก compile-time-constant

13
คำสั่งสวิตช์ Java: ต้องการนิพจน์คงที่ แต่เป็นค่าคงที่
ดังนั้นฉันกำลังทำงานในชั้นนี้ที่มีค่าคงที่ไม่กี่: public abstract class Foo { ... public static final int BAR; public static final int BAZ; public static final int BAM; ... } จากนั้นฉันต้องการวิธีรับสตริงที่เกี่ยวข้องตามค่าคงที่: public static String lookup(int constant) { switch (constant) { case Foo.BAR: return "bar"; case Foo.BAZ: return "baz"; case Foo.BAM: return "bam"; default: return "unknown"; } …

5
จะมีตัวแปร const ใน for for loop สำหรับการสร้าง class template ได้อย่างไร?
ฉันมีรหัสเช่น template <size_t N> class A { template <size_t N> someFunctions() {}; }; ตอนนี้ฉันต้องการสร้างอินสแตนซ์ของคลาสและเรียกใช้ฟังก์ชันในการวนรอบสำหรับชุดของค่าจำนวนมากเช่น // in main() int main() { for (int i = 1; i <= 100; i++) { const int N = i; // dont know how to do this A<N> a; a.functionCalls(); } } ทำอย่างไร หวังว่าจะมีวิธีการทำเช่นนี้

1
ถูกต้องเพื่อเริ่มต้นอาร์เรย์ในตัวสร้าง constexpr หรือไม่
รหัสต่อไปนี้ถูกต้องตามกฎหมายหรือไม่ template <int N> class foo { public: constexpr foo() { for (int i = 0; i < N; ++i) { v_[i] = i; } } private: int v_[N]; }; constexpr foo<5> bar; เสียงดังกังวานยอมรับ แต่ GCC และ MSVC ปฏิเสธมัน ข้อผิดพลาดของ GCC คือ: main.cpp:15:18: error: 'constexpr foo<N>::foo() [with int N = …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.