SlideShare a Scribd company logo
1 of 42
C++の復習

Working Draftを読んでみた

わんくま同盟 東京勉強会 #69
自己紹介

• 安藤敏彦(あんどちん)
– 中年男子
– 組込系のプログラマ

わんくま同盟 東京勉強会 #69
アジェンダ

• Cとの違い
– WDのAnnex C

• C++の仕様を読んで気付いたこと
– WDの2章と3章それからオライリーのクイッ
クリファレンス

わんくま同盟 東京勉強会 #69
CとC++の違い

• C++はCを基に作られた言語です。では
C++がCと異なるのはどういう部分でしょ
う?
– C言語にオブジェクト指向を取り入れたとかい
うありきたりな話ではありません
– 当然templateがあるというだけの話でもあり
ません
– プリプロセッサやconstexprでコンパイル時に
結果を得るという話でもないです
– Working Draftに書いてある事を基にします
わんくま同盟 東京勉強会 #69
CとC++の違い

~ 語彙的変更~

• キーワードが追加された
– alignofやdecltypeといったキーワードが追加さ
れている

• 文字リテラルの型がintからcharになった。
– ‘x’の型がCではint、C++ではchar

• 文字列リテラルがconstになった
– C++では文字列リテラルが定数である

わんくま同盟 東京勉強会 #69
CとC++の違い ~ 基本コンセプト~

• Cのような仮の定義が出来ない
– どういうこと?
C++はCにあるような「仮の定義」を持たない。例えば、ファイルスコープで、
int i;
int i;
はCにおいて有効であるが、C++においては無効である。
これは初期化子がCの構文形式に制限される場合、ファイルローカルな静的オブジェクトの相互
参照定義を不可能にする。例えば、
struct X { int i; struct X *next; };
static struct X a;
static struct X b = { 0, &a };
static struct X a = { 0, &b };

わんくま同盟 東京勉強会 #69
CとC++の違い ~ 基本コンセプト~

• C++においてstructはスコープである
– Cではstructは独立したスコープを持たない
• C++ではクラススコープが不可欠であるため

• constオブジェクトのファイルスコープ変
更
– 明示的にconst宣言されextern宣言されない
ファイルスコープの名前は内部リンケージを
持つ。Cでは外部リンケージとなる

• mainに特別な挙動を要求する
– mainを再帰的に呼び出すことは出来ず、その
アドレスは取得できない 東京勉強会 #69
わんくま同盟
CとC++の違い ~ 基本コンセプト~

• 互換性のある型の禁止
– 例えばCでは異なるタグ名を持つ同じ構造体は
互換性を持つが、C++では明確に違う型

わんくま同盟 東京勉強会 #69
CとC++の違い

~ 標準変換~

• void*ポインタ変換
– void*からオブジェクトへのポインタの変換に
キャストを要求する

わんくま同盟 東京勉強会 #69
CとC++の違い

~ 式~

• 暗黙の関数の宣言
– 暗黙の関数の宣言は許可されない

• 式中での型宣言の禁止
– 型は宣言文で宣言されねばならない。Cでは
sizeof式、もしくは式で新たな型を生成できる。
例えば以下の式では新たな型struct xを宣言す
る
P = (void*)(struct x {int i;}*)0;

わんくま同盟 東京勉強会 #69
CとC++の違い

~ 式~

• 条件式の結果、代入式、カンマ演算子
– それらの結果は左辺値。Cでは右辺値
明確に定義された機能の意味へ変更。暗黙的に左辺値を右辺値へ変換
することをあてにするCの式は異なる結果をもたらすであろう。例え
ば、
char arr[100];
sizeof(0, arr)
C++では100が、Cではsizeof(char*)が生成される。

わんくま同盟 東京勉強会 #69
CとC++の違い

~ 命令~

• 明示的な宣言もしくは暗黙的な初期化を越
えてジャンプすることは不正である
– クラスオブジェクト宣言等を飛び越えてジャ
ンプすることは出来ない。
– 但し、全体に渡って侵入されないブロックは
例外

• 戻り値が宣言されている関数からの戻り
– Cでは戻り値が宣言されている関数から戻り値
無しで戻ることが出来るが、C++ではエラー
となる
• とても古いCでは戻り値のint/voidが区別されなかっ
わんくま同盟 東京勉強会 #69
た
CとC++の違い

~ 宣言~

• 記憶クラス指定子と型宣言の混在
– Cでは有効だがC++では無効。例えば
• Cではstatic struct S { int i; };が有効

• typedefとクラス名
– C++のtypedef名は同一スコープのどのクラス
名とも異なること(同じクラス名のシノニム
を除く)
typedef struct name1 { /*…*/ } name1; // CでもC++でも有効
struct name { /*…*/ };
typedef int name; // Cでは有効だがC++では無効

わんくま同盟 東京勉強会 #69
CとC++の違い

~ 宣言~

• 定数オブジェクトの初期化
– C++では定数オブジェクトを初期化せねばな
らないが、Cでは未初期化にできる

• 暗黙のintの禁止
– Cでは型が指定されていないとintとみなされる
次の例では、左側の列はCで有効な宣言を提示し、右側の列で同等なC++の
宣言を提示する
void f(const parm);
void f(const int parm);
const n = 3;
const int n = 3;
main()
int main()

わんくま同盟 東京勉強会 #69
CとC++の違い

~ 宣言~

• auto
– autoは初期化子の結果から型を推論するキー
ワードへ変更された

• 列挙型
– Cでは列挙型の値を任意の整数型へ代入出来た
がC++では出来ない。

わんくま同盟 東京勉強会 #69
CとC++の違い

~ 宣言子~

• 空のパラメータリスト
– C++では空のパラメータリストは引数を持た
ない事を意味し、Cではパラメータが不明であ
ることを意味する

• 関数と共に型は定義できない
– C++において、型を戻り値もしくはパラメー
タの型で定義できない。
void f( struct S { int a; } arg) {} // Cでは有効。C++では無効
enum E { A, B, C } f() {} // Cでは有効。C++では無効

わんくま同盟 東京勉強会 #69
CとC++の違い

~ 宣言子~

• 旧形式の関数宣言
– C++では旧形式の関数定義を排除している
• 旧形式の関数定義って?
こんなの…
void f3(a, b, c)
int a;
int b;
char c;
{
}

わんくま同盟 東京勉強会 #69
CとC++の違い

~ 宣言子~

• 文字列による文字配列の初期化
– C++では配列のサイズを超える文字列(終端文
字’0’を含む)で文字配列を初期化できない。

わんくま同盟 東京勉強会 #69
CとC++の違い

~ クラス~

• クラス名とスコープ
– C++において、スコープ内で定義されたクラ
ス名はスコープ外の同名のオブジェクトや関
数を隠す。
int x[99];
void f() {
struct x { int a; };
sizeof(x); /* Cでは配列のサイズ */
/* C++では構造体のサイズ */
}

わんくま同盟 東京勉強会 #69
CとC++の違い

~ クラス~

• ネストしたクラス
– C++ではネストしたクラス名はそれを囲んで
いるクラスのローカル名であるが、Cでは同じ
スコープである。

• typedef名の再宣言
– C++においてtypedef名がその定義で使用さ
れた後、再宣言することは出来ない。
typedef int I;
struct S {
I i;
int I; // Cでは有効。C++では無効。(但しI i;がなければ有効)
};

わんくま同盟 東京勉強会 #69
CとC++の違い

~ 特別なメンバ関数~

• volatileオブジェクトの複製
– volatile宣言されたオブジェクトに対して、暗
黙のコピーコンストラクタ、代入演算子は無
効である。
struct X { int i; };
volatile struct X x1 = {0};
struct X x2(x1); // C++では無効
struct X x3;
x3 = x1; // これもC++では無効

わんくま同盟 東京勉強会 #69
CとC++の違い

~ プリプロセッサディレクティブ~

• __STDC__
– __STDC__が定義されていたとしても、その
値は実装定義である

C++とCとの違いはこれだけらしいで
す

わんくま同盟 東京勉強会 #69
C++の仕様を読んでみた

• 先ほどまでのCとの違いも同じWDの
Annex Cから引用しましたが、本編を読ん
で気付いたことを幾つかご紹介します。
• 文法の仕様の1割程度からの抜粋です

わんくま同盟 東京勉強会 #69
コンパイル順序

• C++のコンパイルは9段階の順序で行われ
る
1.
2.
3.
4.
5.
6.
7.
8.
9.

文字のマッピング・トリグラフの置換
終端の行を次の行と連結
プリプロセストークンと空白に分離・コメント変換
プリプロセッサディレクティブの実行
文字列リテラル変換
隣接する文字列トークン連結
構文解析
翻訳単位の結合
外部参照のリンク・実行ファイル生成
わんくま同盟 東京勉強会 #69
C++で使用できる文字

• C++では96種類の文字を使用できることが
決められている。
– 91種類のアルファベット・数字・記号
– 水平・垂直タブ、改頁、空白、改行
abcdefghijklmnopqrstuvwxyz
AB CD E FGH I JKLMN OPQR STU VWXYZ
0123456789
_{}[]#()<>%:;.?*+-/^&|~!=,"’

わんくま同盟 東京勉強会 #69
記憶域と型と型のサイズ

• 記憶域
– バイトを1単位とする連続領域

• 型と型のサイズ
– charは1バイトである。
• 1バイトは8ビット以上である
– 基本文字セット及びUTF-8を表現できるビット長以上で
あること
» つまり8bit以上ならいいみたいです

わんくま同盟 東京勉強会 #69
トリグラフと代替トークン

• ある表現を別の文字で表すことが出来る。
– トリグラフ
• 文字の代替表現プリプロセス時に変換される

– 代替トークン
• 演算子・区切り文字の代替表現

わんくま同盟 東京勉強会 #69
識別子とユニバーサル文字

• 識別子にユニバーサル文字が使用できるよ
うになった
– ところでどうやって使うの?
識別子の項に
universal-character-name
という記述はありましたが、どのように使うかはわか
りませんでした…

わんくま同盟 東京勉強会 #69
overrideとfinal

• overrideとfinalは特別なキーワードである。
– これらのキーワードは文脈により判断される
• つまり、変数や関数名としても使用できる
// 以下のクラスはエラーにならない
struct base {
virtual void override() {}
virtual void final() {}
};
struct derived : base {
void override() override {}
void final() final {}
};

わんくま同盟 東京勉強会 #69
typedefとcv修飾

• typedefやconstやvolatileの位置は任意
– つまり…
typedef const unsigned int CUINT; // これは
const typedef unsigned int CUINT; // これでもいい
int const typedef unsigned CUINT; // これでもいい

自分の読みやすいスタイルを選べま
す

わんくま同盟 東京勉強会 #69
上限

• プログラムを構成する各要素の上限
項目

最大数

条件文などのネスト

256段

識別子の名前

1024文字

1翻訳単位の外部識別子

65536個

関数の引数

256個

1行の文字数

65536文字

includeのネスト

256段

1つのクラスのデータメンバ

16384個

atexitで登録される関数

32個

constexprの再帰

512段

templateのネスト

1024段

わんくま同盟 東京勉強会 #69
メンバ初期化子と*this

• メンバ初期化子の構文で*thisを使用できる
場合がある。
struct outer {
unsigned int sz = sizeof(*this);
// int a[sizeof(*this)];
void f() {
int b[sizeof(*this)];
struct inner {
unsigned int sz = sizeof(*this); // OK
int c[sizeof(*this)];
// Error
} i;
}
};

わんくま同盟 東京勉強会 #69
ユーザ定義リテラルと生文字リテラル

• ユーザ定義リテラル
– 任意のリテラルをユーザが定義できるように
なった
• イマイチ嬉しいところがわからない。

– 生文字リテラル
• R”(string)” の形式で記述
• 「書いたまま」の文字列リテラルが使用できる
• 改行も書いた通り。nで改行する必要がない

わんくま同盟 東京勉強会 #69
デフォルト引数の再定義

• C++では関数にデフォルト引数を持たせら
れますが、これは再定義することが出来ま
す。
– 但し再定義と言っても同じ引数に異なる値を
割り当てられるわけではありません。
// こんなことができます
int func(int a, int b, int c = 30);
int func(int a, int b = 20, int c);
int func(int a = 10, int b, int c);

わんくま同盟 東京勉強会 #69
名前空間と無名名前空間

• C++では名前空間を持つことが出来ますが、
無名の名前空間を持つことも出来ます。
– 無名の名前空間はC言語でのstaticのように利
用できます。

わんくま同盟 東京勉強会 #69
スコープ その1

• 変数宣言のスコープ
const int
const int
const int
const int
const int

v = 3;
x = 12;
y = 34;
z = 56;
X = 78;

int main()
{
enum { X = X }; // X = 78
int a = x, x; // a = 12
int y = y; // uninitialized value
int z(z); // uninitialized value;
int v[v]; // same as v[3];
}

わんくま同盟 東京勉強会 #69
スコープ その2

• テンプレートパラメータのスコープ
typedef int T;
template<typename T = T, T init = 0> struct my_type {
T value = init;
my_type() = default;
my_type(const T& v) : value(v) {}
operator T() { return value; }
};

わんくま同盟 東京勉強会 #69
右辺値と左辺値とrvalue/lvalue/glvalue/prvalue/xvalue

• 右辺値とか左辺値とか言われる
rvalue/lvalueは知っていると思いますが、
それ以外のものもあるんです
名前

概要

lvalue

式の左辺に現われる関数・オブジェクト

rvalue

式の右辺に現われる。xvalue、一時オブジェクトなど。

glvalue

lvalueもしくはxvalueのこと。generalized lvalue

xvalue

オブジェクトへの参照。式の結果など

prvalue

xvalueではないrvalue。リテラルなど

わんくま同盟 東京勉強会 #69
1定義ルールとinlineとstatic

• 翻訳単位は変数・関数・クラスなどの定義
を複数含まないこと
– inline関数が各翻訳単位で定義されていたら?
• 実際にコンパイルして試してみましょう

わんくま同盟 東京勉強会 #69
_Pragmaオペレータ

• #pragmaと同等な_Pragma単項演算子
#pragma listing on "..listing.dir“
これは以下と同じ
_Pragma ( "listing on "..listing.dir"" )

この変換は翻訳フェーズ3で行われる

わんくま同盟 東京勉強会 #69
参考文献

• Working Draft, Standard for Programming
Language C++
• C++クイックリファレンス(オライリー)

わんくま同盟 東京勉強会 #69
ご静聴ありがとうございまし
た

わんくま同盟 東京勉強会 #69

More Related Content

What's hot

C#や.NET Frameworkがやっていること
C#や.NET FrameworkがやっていることC#や.NET Frameworkがやっていること
C#や.NET Frameworkがやっていること信之 岩永
 
最新C++事情 C++14-C++20 (2018年10月)
最新C++事情 C++14-C++20 (2018年10月)最新C++事情 C++14-C++20 (2018年10月)
最新C++事情 C++14-C++20 (2018年10月)Akihiko Matuura
 
闇魔術を触ってみた
闇魔術を触ってみた闇魔術を触ってみた
闇魔術を触ってみたSatoshi Sato
 
Define and expansion of cpp macro
Define and expansion of cpp macroDefine and expansion of cpp macro
Define and expansion of cpp macrodigitalghost
 
Template Meta Programming入門から応用まで
Template Meta Programming入門から応用までTemplate Meta Programming入門から応用まで
Template Meta Programming入門から応用までyoshihikoozaki5
 
わんくま同盟大阪勉強会#61
わんくま同盟大阪勉強会#61わんくま同盟大阪勉強会#61
わんくま同盟大阪勉強会#61TATSUYA HAYAMIZU
 
C++ Template Meta Programming の紹介@社内勉強会
C++ Template Meta Programming の紹介@社内勉強会C++ Template Meta Programming の紹介@社内勉強会
C++ Template Meta Programming の紹介@社内勉強会Akihiko Matuura
 
~knitr+pandocではじめる~『R MarkdownでReproducible Research』
~knitr+pandocではじめる~『R MarkdownでReproducible Research』~knitr+pandocではじめる~『R MarkdownでReproducible Research』
~knitr+pandocではじめる~『R MarkdownでReproducible Research』Nagi Teramo
 
C#言語機能の作り方
C#言語機能の作り方C#言語機能の作り方
C#言語機能の作り方信之 岩永
 
C++コンパイラ GCCとClangからのメッセージをお読みください
C++コンパイラ GCCとClangからのメッセージをお読みくださいC++コンパイラ GCCとClangからのメッセージをお読みください
C++コンパイラ GCCとClangからのメッセージをお読みくださいdigitalghost
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?Moriharu Ohzu
 
C++0xの概要(デブサミ2010)
C++0xの概要(デブサミ2010)C++0xの概要(デブサミ2010)
C++0xの概要(デブサミ2010)Akira Takahashi
 
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)Hiro H.
 
プログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコードプログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコードShigenori Sagawa
 
Ruby 3 の型解析に向けた計画
Ruby 3 の型解析に向けた計画Ruby 3 の型解析に向けた計画
Ruby 3 の型解析に向けた計画mametter
 
.NET Core 3.0 で使える C# 8
.NET Core 3.0 で使える C# 8.NET Core 3.0 で使える C# 8
.NET Core 3.0 で使える C# 8m ishizaki
 

What's hot (20)

C++ tips4 cv修飾編
C++ tips4 cv修飾編C++ tips4 cv修飾編
C++ tips4 cv修飾編
 
C#や.NET Frameworkがやっていること
C#や.NET FrameworkがやっていることC#や.NET Frameworkがやっていること
C#や.NET Frameworkがやっていること
 
最新C++事情 C++14-C++20 (2018年10月)
最新C++事情 C++14-C++20 (2018年10月)最新C++事情 C++14-C++20 (2018年10月)
最新C++事情 C++14-C++20 (2018年10月)
 
闇魔術を触ってみた
闇魔術を触ってみた闇魔術を触ってみた
闇魔術を触ってみた
 
Define and expansion of cpp macro
Define and expansion of cpp macroDefine and expansion of cpp macro
Define and expansion of cpp macro
 
Template Meta Programming入門から応用まで
Template Meta Programming入門から応用までTemplate Meta Programming入門から応用まで
Template Meta Programming入門から応用まで
 
C# 9.0 / .NET 5.0
C# 9.0 / .NET 5.0C# 9.0 / .NET 5.0
C# 9.0 / .NET 5.0
 
C++の黒魔術
C++の黒魔術C++の黒魔術
C++の黒魔術
 
わんくま同盟大阪勉強会#61
わんくま同盟大阪勉強会#61わんくま同盟大阪勉強会#61
わんくま同盟大阪勉強会#61
 
C++ Template Meta Programming の紹介@社内勉強会
C++ Template Meta Programming の紹介@社内勉強会C++ Template Meta Programming の紹介@社内勉強会
C++ Template Meta Programming の紹介@社内勉強会
 
~knitr+pandocではじめる~『R MarkdownでReproducible Research』
~knitr+pandocではじめる~『R MarkdownでReproducible Research』~knitr+pandocではじめる~『R MarkdownでReproducible Research』
~knitr+pandocではじめる~『R MarkdownでReproducible Research』
 
Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7
 
C#言語機能の作り方
C#言語機能の作り方C#言語機能の作り方
C#言語機能の作り方
 
C++コンパイラ GCCとClangからのメッセージをお読みください
C++コンパイラ GCCとClangからのメッセージをお読みくださいC++コンパイラ GCCとClangからのメッセージをお読みください
C++コンパイラ GCCとClangからのメッセージをお読みください
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
 
C++0xの概要(デブサミ2010)
C++0xの概要(デブサミ2010)C++0xの概要(デブサミ2010)
C++0xの概要(デブサミ2010)
 
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
 
プログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコードプログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコード
 
Ruby 3 の型解析に向けた計画
Ruby 3 の型解析に向けた計画Ruby 3 の型解析に向けた計画
Ruby 3 の型解析に向けた計画
 
.NET Core 3.0 で使える C# 8
.NET Core 3.0 で使える C# 8.NET Core 3.0 で使える C# 8
.NET Core 3.0 で使える C# 8
 

Similar to C++の復習

T69 c++cli ネイティブライブラリラッピング入門
T69 c++cli ネイティブライブラリラッピング入門T69 c++cli ネイティブライブラリラッピング入門
T69 c++cli ネイティブライブラリラッピング入門伸男 伊藤
 
C++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISるC++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISるHideyuki Tanaka
 
C++0x 言語の未来を語る
C++0x 言語の未来を語るC++0x 言語の未来を語る
C++0x 言語の未来を語るAkira Takahashi
 
C++でぼくが忘れがちなこと
C++でぼくが忘れがちなことC++でぼくが忘れがちなこと
C++でぼくが忘れがちなことToshihiko Ando
 
C++ lecture-0
C++ lecture-0C++ lecture-0
C++ lecture-0sunaemon
 
競技プログラミングのためのC++入門
競技プログラミングのためのC++入門競技プログラミングのためのC++入門
競技プログラミングのためのC++入門natrium11321
 
.NET Core 2.x 時代の C#
.NET Core 2.x 時代の C#.NET Core 2.x 時代の C#
.NET Core 2.x 時代の C#信之 岩永
 
とあるFlashの自動生成
とあるFlashの自動生成とあるFlashの自動生成
とあるFlashの自動生成Akineko Shimizu
 
(ゲームじゃない方の)switchで遊びたい話
(ゲームじゃない方の)switchで遊びたい話(ゲームじゃない方の)switchで遊びたい話
(ゲームじゃない方の)switchで遊びたい話Masanori Masui
 
組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由kikairoya
 
C# 8.0 Preview in Visual Studio 2019 (16.0)
C# 8.0 Preview in Visual Studio 2019 (16.0)C# 8.0 Preview in Visual Studio 2019 (16.0)
C# 8.0 Preview in Visual Studio 2019 (16.0)信之 岩永
 
Learning Template Library Design using Boost.Geomtry
Learning Template Library Design using Boost.GeomtryLearning Template Library Design using Boost.Geomtry
Learning Template Library Design using Boost.GeomtryAkira Takahashi
 
C# design note sep 2014
C# design note sep 2014C# design note sep 2014
C# design note sep 2014信之 岩永
 
「C言語規格&MISRA-C:みんなで楽しいCプログラミング」NGK2013B名古屋合同懇親会2013忘年会昼の部
「C言語規格&MISRA-C:みんなで楽しいCプログラミング」NGK2013B名古屋合同懇親会2013忘年会昼の部「C言語規格&MISRA-C:みんなで楽しいCプログラミング」NGK2013B名古屋合同懇親会2013忘年会昼の部
「C言語規格&MISRA-C:みんなで楽しいCプログラミング」NGK2013B名古屋合同懇親会2013忘年会昼の部Kiyoshi Ogawa
 
Wrapping a C++ library with Cython
Wrapping a C++ library with CythonWrapping a C++ library with Cython
Wrapping a C++ library with Cythonfuzzysphere
 
プログラマ人生論
プログラマ人生論プログラマ人生論
プログラマ人生論ymmt
 

Similar to C++の復習 (20)

T69 c++cli ネイティブライブラリラッピング入門
T69 c++cli ネイティブライブラリラッピング入門T69 c++cli ネイティブライブラリラッピング入門
T69 c++cli ネイティブライブラリラッピング入門
 
C++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISるC++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISる
 
C++0x 言語の未来を語る
C++0x 言語の未来を語るC++0x 言語の未来を語る
C++0x 言語の未来を語る
 
C++でぼくが忘れがちなこと
C++でぼくが忘れがちなことC++でぼくが忘れがちなこと
C++でぼくが忘れがちなこと
 
C++ lecture-0
C++ lecture-0C++ lecture-0
C++ lecture-0
 
C# 8
C# 8C# 8
C# 8
 
競技プログラミングのためのC++入門
競技プログラミングのためのC++入門競技プログラミングのためのC++入門
競技プログラミングのためのC++入門
 
.NET Core 2.x 時代の C#
.NET Core 2.x 時代の C#.NET Core 2.x 時代の C#
.NET Core 2.x 時代の C#
 
とあるFlashの自動生成
とあるFlashの自動生成とあるFlashの自動生成
とあるFlashの自動生成
 
(ゲームじゃない方の)switchで遊びたい話
(ゲームじゃない方の)switchで遊びたい話(ゲームじゃない方の)switchで遊びたい話
(ゲームじゃない方の)switchで遊びたい話
 
組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由
 
Objc lambda
Objc lambdaObjc lambda
Objc lambda
 
C# 8.0 Preview in Visual Studio 2019 (16.0)
C# 8.0 Preview in Visual Studio 2019 (16.0)C# 8.0 Preview in Visual Studio 2019 (16.0)
C# 8.0 Preview in Visual Studio 2019 (16.0)
 
Learning Template Library Design using Boost.Geomtry
Learning Template Library Design using Boost.GeomtryLearning Template Library Design using Boost.Geomtry
Learning Template Library Design using Boost.Geomtry
 
C# design note sep 2014
C# design note sep 2014C# design note sep 2014
C# design note sep 2014
 
「C言語規格&MISRA-C:みんなで楽しいCプログラミング」NGK2013B名古屋合同懇親会2013忘年会昼の部
「C言語規格&MISRA-C:みんなで楽しいCプログラミング」NGK2013B名古屋合同懇親会2013忘年会昼の部「C言語規格&MISRA-C:みんなで楽しいCプログラミング」NGK2013B名古屋合同懇親会2013忘年会昼の部
「C言語規格&MISRA-C:みんなで楽しいCプログラミング」NGK2013B名古屋合同懇親会2013忘年会昼の部
 
C# 3.0 以降
C# 3.0 以降C# 3.0 以降
C# 3.0 以降
 
What is template
What is templateWhat is template
What is template
 
Wrapping a C++ library with Cython
Wrapping a C++ library with CythonWrapping a C++ library with Cython
Wrapping a C++ library with Cython
 
プログラマ人生論
プログラマ人生論プログラマ人生論
プログラマ人生論
 

Recently uploaded

TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 

Recently uploaded (14)

TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 

C++の復習