Re: [問題] 在struct中有辦法宣告constant value嗎?
※ 引述《Asker97 (市井小民)》之銘言:
: 大家好
: 想問在struct中有辦法宣告constant value嗎?
: 目前所懂的是當要宣告const value
: 可以在程式開始時
: #define SIZE 6
: 這樣的方式
: 但如果想寫在struct呢?
: 想過static 但static只是會保存 不是定值
: 謝謝大家
struct Foo {
const static int SIZE;
};
const int Foo::SIZE = 6;
不過這種情況下
SIZE 並不是 compile-time 就可以知道的定值
也就是你不能這樣寫
int array[Foo::SIZE];
如果你想要達成上面那個樣子
有個方法是用 enum
struct Foo {
enum { SIZE = 6 };
};
我承認這個方法很噁爛 而且只能用在整數型別
但不幸的 這是用 #define 以外唯一的方法
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.29.108
→
10/29 11:51, , 1F
10/29 11:51, 1F
推
10/29 11:54, , 2F
10/29 11:54, 2F
→
10/29 11:57, , 3F
10/29 11:57, 3F
推
10/29 11:59, , 4F
10/29 11:59, 4F
→
10/29 12:00, , 5F
10/29 12:00, 5F
推
10/29 13:14, , 6F
10/29 13:14, 6F
→
10/29 13:14, , 7F
10/29 13:14, 7F
→
10/29 13:14, , 8F
10/29 13:14, 8F
→
10/29 13:15, , 9F
10/29 13:15, 9F
→
10/29 13:15, , 10F
10/29 13:15, 10F
推
10/29 13:19, , 11F
10/29 13:19, 11F
→
10/29 13:19, , 12F
10/29 13:19, 12F
推
10/29 13:27, , 13F
10/29 13:27, 13F
推
10/29 14:04, , 14F
10/29 14:04, 14F
推
10/29 14:09, , 15F
10/29 14:09, 15F
推
10/29 14:11, , 16F
10/29 14:11, 16F
推
10/29 14:24, , 17F
10/29 14:24, 17F
推
10/29 16:11, , 18F
10/29 16:11, 18F
推
10/29 19:00, , 19F
10/29 19:00, 19F
→
10/30 00:54, , 20F
10/30 00:54, 20F
推
11/03 22:10, , 21F
11/03 22:10, 21F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):