底辺SEによる転職のためのスキルアップメモ

うだつの上がらないSEの勉強記録です

C++勉強メモ~新・明解C言語 ~入門編その3~

今日も残業。

会社出たのが9時過ぎだったため、6章まで進める作業で手一杯だった。

 

今までC言語しかロクに扱って来なかったので、割と違いに戸惑った。

1.デフォルト実引数

int max( int a = 3 )

{

   return a;

}

みたいな記述の仕方ができる。

しっかしなぁ。

これでmax(5);

とかで関数呼んだら戻って来るの5なんだよな?

使いづらいんじゃないかと思ってしまう。

 

それに、max( int a = 3, int b )

とかで宣言するとコンパイルエラーが出るようだ。

何でかは分からんが厄介だ。

 

今のところはこんなもんとして一旦しまっておくことにする。

後でも積極的に出てくんのかな?

だとしたら素直に理解しないとダメそうだが・・・。

 

2.参照渡し

int&

という書き方に馴染みが無い。

C言語の教科書に、参照渡しの場合はどうなるとか色々書いてあったことは覚えているので、2つの値をswapする関数ぐらいなら分かるが、やはり実引数の値が書き換えられる可能性があるってのはなんだか慣れない。

C++の根幹を為すクラスの概念は、参照渡しを多用するため、なんとか理解していかねば。

 

3.値の有効範囲

for文内で宣言した変数の記憶寿命がfor文内だということは知らなかった。

教えられたことはあったかもしれないが、忘れてた。

 

4.多重定義・インライン関数

1例でしか触れなかったが、今まで教科書進めて来て初めての新しい要素。

シグネチャが異なっていれば多重定義できない

シグネチャって何だよ。

 

とりあえず引数の個数が違うだけだったら宣言できそうだという印象を受けた。

この部分にあんまり詳しい説明も無いので

そういうものだと思って今はスルーすることにする。

どうせ後で出て来るだろう。