![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
--------------------------------------------------
class Hoge {
public:
Hoge(const char* msg)
:kMessage_(msg), kCount_(100000000), kInterval_(1000000)
{}
…
private:
const char *kMessage_;
--------------------------------------------------
c++の勉強をしています。
いろいろ検索して調べていると、こんな感じのコードに出会いました。
「:」の部分の意味を教えていただきたいです。★
googleで検索しようとしたのですが、「:」をうまく使えず見つけれなかったので、
検索の仕方か説明サイトも教えていただけると助かります。
雰囲気的に、constな定数変数を引数で設定したいときに、
メンバ変数名と同じ名前のsetterが暗黙に定義される的な感じだと思うのですがはっきりしたいです。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
コンストラクタの引数リストの後ろの:は,
・基底クラス
・メンバ変数
を初期化するためのものです。
コンストラクタの複文部分では初期化できないので,このような構文が用意されています。
ちなみに,複文中での表記になりますが,
const char * p = "abc";
std::string s("abc");
は初期化で,
const char * p;
p = "abc";
std::string s;
s = "abc";
は,pは代入,sは初期化+代入になります。
個人的には可能な限り初期化すべきだと思います。
# 初期化+代入は初期化のみに比べて通常無意味な無駄が多いので。
レスありがとうございます。
初期化というのですね。
教えていただいたことで、説明サイトも検索できました。
わかりやすい説明ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# const char** p;のとき、free(p)でC4090エラーとなるのはなぜですか 3 2023/03/31 16:28
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- C言語・C++・C# Cの関数の引数のconst *charについて 5 2023/04/25 13:05
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- その他(SNS・コミュニケーションサービス) Yahoo!とGoogle検索のしくみの違いを教えてください 2 2022/08/14 01:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAのプログラムで、DIAG = 1# ...
-
C++ 構造体の一括初期化 {0}
-
「#undef」と「#define」の使い...
-
構造体のデータを丸ごとコピー...
-
long型のデータをバイト型の配...
-
Integer変数をカラにしたいので...
-
値が代入されてない時
-
構造体にする理由・利点・使用例
-
C言語 構造体の中に共用体を定...
-
ローカル変数の多重定義
-
C++/CLIの構造体のコンストラク...
-
VBAの変数のデータ型を変更する...
-
typedefをプログラム中で解除す...
-
構造体について
-
整数から16進数への変換 現在c...
-
日付チェック関数について
-
C言語のキャストについて
-
VBAにてcolorindexを変数に格納...
-
VBAで符号無し整数
-
[Scilab]関数の宣言とodeの使い...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのプログラムで、DIAG = 1# ...
-
Integer変数をカラにしたいので...
-
「#undef」と「#define」の使い...
-
C++ 構造体の一括初期化 {0}
-
構造体のデータを丸ごとコピー...
-
C言語 構造体の中に共用体を定...
-
VBAにてcolorindexを変数に格納...
-
long型のデータをバイト型の配...
-
値が代入されてない時
-
charとucharの違い
-
typedefをプログラム中で解除す...
-
構造体のポインタにNULLが入らない
-
異なる構造体のデータのコピー
-
整数から16進数への変換 現在c...
-
VB.NETのStructureというのはど...
-
VBAの変数のデータ型を変更する...
-
構造体にする理由・利点・使用例
-
winsockのsendtoで送れるデータ型
-
VBAで符号無し整数
-
命名規則 VB 構造体
おすすめ情報