
No.2ベストアンサー
- 回答日時:
constな値を返す関数で、唯一、意味があるのは
const char *DayOfWeek(int Day)
{
switch (Day)
{
case SUNDAY:
return "Sunday";
case MONDAY:
return "Monday";
(以下略)
のような「(静的メモリにある)固定の値を返す関数」のみ。
返されたポインタは「constな文字列」なので、返り値はconst char *になります。
この他「構造体のポインタを返すが、ユーザーが、その構造体を書き替えてはいけない場合」にも、関数を「const struct タグ名 *を返す」として定義します。
例えば、システムのプロパティを返す関数とかでは、返されたポインタの構造体を書き変えてもシステムのプロパティが変更される訳じゃないから、返されたポインタの中身を書き変え出来ないよう、constな構造体のポインタを返す、と宣言したりします。
>これは通常のint foo()とどのように違うのでしょうか。
何も違いません。同じです。
1つだけはっきりしてるのは「ポインタを返す関数に付けないと、constは意味が無い」と言う事です。
No.3
- 回答日時:
「なにも違わない」はず.
ちなみにそれは「const な値を返す」とは言わない>#2. 「返している値」そのものは const になっていない.
なるほど。つまり、静的な値を返すときだけではなく、constで宣言された変数のポインタを返すときなどもこのようにするということでしょうか。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# const char** p;のとき、free(p)でC4090エラーとなるのはなぜですか 3 2023/03/31 16:28
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- C言語・C++・C# Cのdoubleの浮動小数点表示について 3 2023/04/17 13:14
- C言語・C++・C# Cの関数の引数のconst *charについて 5 2023/04/25 13:05
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# 至急教えてください! プログラミングの問題です! お願いします! 出力2と全く同じ出力をするように、 2 2022/06/22 23:10
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAでのkernel32(64bit)
-
init関数の意味
-
C言語のポインタに直接アドレス...
-
構造体の初期化のmemsetの第三引数
-
I/Oレジスタアドレスを関数に引...
-
ポインタのsizeofについて
-
ハンドルはポインタか
-
ファイルポインタのヘッダーフ...
-
c言語で任意のファイルから読み...
-
C言語によるメモリ読み書き
-
Run-Time Check Failure #3とい...
-
C言語でのconstを返す関数
-
sprintf 初歩的な質問
-
基本アルゴリズムの『返す』の...
-
ポインタのサイズ
-
fopne で失敗する原因
-
戻り値で構造体を返すことは可...
-
アプリを32bitから64bit移行
-
配列アドレスの減算
-
VBはCを混乱させる?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
セグメントエラー
-
C言語のポインタに直接アドレス...
-
init関数の意味
-
Run-Time Check Failure #3とい...
-
戻り値で構造体を返すことは可...
-
ExcelVBAでのkernel32(64bit)
-
アプリを32bitから64bit移行
-
参照型で受け取った引数をポイ...
-
fopne で失敗する原因
-
PASCALとFARの意味
-
LPSTR型の初期化について
-
CWnd::EnableWindow()の扱い方
-
ポインタについて
-
プーさんのマウスポインタを教...
-
連結リスト 要素の入れ替え
-
ハンドルはポインタか
-
C++で関数ポインタから関数名を...
-
自作DLLの引数について、ポイン...
-
NULLポインタが0でない処理系と...
-
TCHAR文字列内の検索について
おすすめ情報