More Related Content
PPT
わんくま東京#38 LT 「Func<> と ref / out 小咄」 PDF
PDF
PPT
PDF
PPTX
PDF
PPTX
解説?FSharp.Quotations.Compiler What's hot
PDF
STLの型の使い分け(ダイジェスト版) @ Sapporo.cpp 第7回勉強会 (2014.10.18) PDF
Boost.勉強会 #21 札幌「C++1zにstring_viewが導入されてうれしいので紹介します」 PDF
2011.12.10 関数型都市忘年会 発表資料「最近書いた、関数型言語と関連する?C++プログラムの紹介」 PDF
zend_parse_parametersと64bit環境 PDF
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30) PPTX
Microsoft Learn で C# を学ぶとどんな感じ? PDF
人類の役に立たないDSL、そしていつからRubyが最高の言語だと錯覚してた? with PHP PDF
PDF
MTDDC Hokkaido : テンプレートタグでBrainf*ckを作ってみた PDF
PDF
Similar to C++でぼくが忘れがちなこと
PPTX
PDF
PPTX
PDF
PDF
PDF
PDF
PDF
PPTX
PDF
PDF
PDF
PDF
PPTX
最新C++事情 C++14-C++20 (2018年10月) PDF
PDF
PPTX
Effective Modern C++ Item 9 and 10 PDF
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第6回 ‟文字列とオブジェクト„ PPTX
PDF
C++でぼくが忘れがちなこと
- 1.
- 2.
- 3.
C++ 、覚えてますか?
• …どんな言語でもそうだけど
oある機能を覚えたきっかけが
職場の人のソース
学校の先輩のソース
Web に載っていたソース
そこに載っていたものをパターンとして覚えて
しまいがち。
だから、言語の機能で持っているものや、規格
で決まっていることも知らなかったり
# まぁ、 C++er …は規格書大好きだから別か
- 4.
- 5.
- 6.
- 7.
typedef と cv修飾
• typedef や const の位置は任意
// 以下の宣言は全部同じ
typedef const unsigned int cuint;
const typedef unsigned int cuint;
int const typedef unsigned cuint;
- 8.
virtual いらない。 overrideでいい
• 基底クラスで virtual 宣言されているメソッ
ドは派生クラスで virtual と書かなくても仮
想関数
struct Base { virtual void foo(); };
struct Derived {
void foo(); // 仮想関数
};
// 今時の C++er ならこう書いたほうがいい
struct Derived {
void foo() override; // 仮想関数
};
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
メンバ初期化での *this
• メンバ初期化の構文で*this を使える場合が
ある
struct outer {
unsigned int sz = sizeof(*this);
void f() {
int b[sizeof(*this)];
struct inner {
unsigned int sz = sizeof(*this); // OK
int c[sizeof(*this)]; // NG
} i;
}
};
- 16.
スコープ
• こんなのが OK
typedefint T;
template<typename T = T, T init = T()> struct my_type {
T value = init;
my_type() = default;
my_type(const T& v) : value(v) {}
operator T() { return value; }
};
- 17.
- 18.
int main()
• Cでは return いるけど、 C++ ではいらない
よ
o C++ で return の省略は return 0; になる
• C++ では main の再帰やアドレス取得はダメ
o C ではいいらしい
- 19.
- 20.
- 21.
- 22.
typedef と構造体(クラス)
• C++では同じスコープで別の typedef を作れ
ない
typedef struct name1 {} name1; // どちらも OK
struct name2{};
typedef int name2; // C だと OK
- 23.