teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

説明補足

2017/02/16 07:13

投稿

KSwordOfHaste
KSwordOfHaste

スコア18404

answer CHANGED
@@ -1,3 +1,7 @@
1
+ クラス/構造体の内側に定数を置くかグローバルな定義として置くかは定数定義の性質次第かと思います。
2
+
3
+ 値定義を宣言と同時にするか宣言と定義を分離するかについては・・・
4
+
1
5
  参考にされたページには「ヘッダーに直接定数を書くとそのヘッダーを修正して定数を変更すると参照しているヘッダーをincludeしているソースを全部コンパイルしなおさないといけない」と書いてあります。
2
6
 
3
7
  開発中に調整したいような定数の場合はそうしたことを意識して定数の定義をソースファイルへ置いておくとコンパイル範囲を制限できるので便利といえるでしょう。ではヘッダーへ定数を書くとよくないかというと利点はあると思います。それはヘッダーに書いた定数はソースをコンパイルした時点で確定しているため値を参照した際にコンパイラーが最適化してくれると期待できるからです。