Graviness Blog

算数・数学・科学・電脳・雑記・アホの順の密度で記事が構成されます。
<< July 2018 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 >> ブログランキング・にほんブログ村へ
 
RECOMMEND
ビッグバン宇宙論 (上)
ビッグバン宇宙論 (上) (JUGEMレビュー »)
サイモン・シン, 青木 薫
RECENT COMMENT
  • 豊臣秀吉と曾呂利新左衛門から学ぶ数列の和
    優乃 (07/12)
  • 【誰か解いて】漸化式 a_(n+1) = f(n) * a_n ^ g(n) + h(n) の一般項
    優乃 (02/18)
  • 【誰か解いて】漸化式 a_(n+1) = f(n) * a_n ^ g(n) + h(n) の一般項
    S.S.+ (02/16)
  • 豊臣秀吉と曾呂利新左衛門から学ぶ数列の和
    坂井昭 (03/19)
  • d/dx(x↑↑n): 高さが定数のテトレーションの微分 - 数学的帰納法を用いる方法
    (09/30)
  • 全ての三角形は二等辺三角形
    優乃 (09/28)
  • 全ての三角形は二等辺三角形
    亀レス (09/28)
  • 全ての三角形は二等辺三角形
    優乃 (09/24)
  • 全ての三角形は二等辺三角形
    亀レス (09/23)
  • 【未解決】新しい演算子を創る
    $_ (09/10)
RECENT TRACKBACK
MOBILE
qrcode
PROFILE
無料ブログ作成サービス JUGEM
 
C++初心者の感想
業務でC++を使わなくちゃいけないのですが,1週間ほどコーディングしてみての感想.
1週間だから浅いよ.見方狭いよ.

・インスタンス初期化の方法多い
デフォルトコンストラクタ,コンストラクタ,コピーコンストラクタおよび代入演算子による初期化
これらは,あると便利なように紹介されるが,実は(ほとんどの場合)定義が必須なため面倒.

コピーコンストラクタと代入演算子によるコピーは勘違いのもとになる.

あと,コンストラクタから他のコンストラクタを呼ぶことができない?(Javaのthis(...)のような書き方ないのかい?)
デストラクタはいいね.Javaは(finalize)メソッドで定義.

・基本型のポインタいらない/基本型の参照もいらない
可読性下げる,バグの混入増やす,変な命名規則が必要.
int* pint; // ポインタ型ってuint型?曖昧じゃ?
swap(int& a, int& b) {...} // 利点はあるが,Javaから入った私には特に必要性を感じない.
char* str = "01234"; // うわっ,配列長さ6だった.

・マクロ(プリプロセッサ)いらない
可読性下げる.IDEが頭悪いと何をどう使えばいいのかソースから読み取り困難.
何がクラスで何が型で何がメソッドで何が定数なのか分からん.
プリプロセッサをうまく使うと,デバッグおよびリリースでコードを別のものにしたり,マルチ環境なコードを書けたりすんのかな.

・char型が1バイト
これは不勉強だけど,デフォルトで2バイト文字使えないのは辛い.
char ch = 'あ'; // エラーになる.
char* ch = "あいうえお"; // 長さ10になる.
TCHAR型だっけか,これを2バイトのunsigned short型として扱える?

・キャスト多い
CString a = 1;
CString b = "1";
CString c('1');
一見便利そうで,やはり曖昧な感じを受け,可読性・保守性下がる.

・operatorメソッドいらない
vectorA + vectorB
とやるよりも,
vectorA.add(vectorB)
と書いたほうが個人的にしっくりくる.

・friendsアクセス修飾子って?
独自クラスのインスタンスを
cout << myClassInstance << endl;
の<<で出力できるようにしたかったので,operator<<を定義したけど,エラー.
friends修飾子をつけたら,コンパイルが通った.
なぜか,VC++で,operator<<メソッドがグローバルフォルダに表示されている.どういうこと?

・throw
throw 1;
なんだこれ.
1がthrowされるのでは,catchする側は何が原因で何の例外が発生したのかが分からない.

・VC++頭悪い
Eclipseに慣れていたら,多分大多数の人がそう思う.

---

C++って,個人でのプログラム作成は早められても,多人数での開発には向いてない印象を受ける.コーディング規約とかきっちりと決めておかないと,他人は理解できないソースになりそう.
コメント
コメントする









 
トラックバック
この記事のトラックバックURL
http://blog.graviness.com/trackback/380875
 

(C) 2018 ブログ JUGEM Some Rights Reserved.