Início
Conheça mais
Enviar pesquisa
Carregar
Entrar
Cadastre-se
Anúncio
C++ tips2 インクリメント編
Denunciar
道化師 堂華
Seguir
2 de Dec de 2011
•
0 gostou
1 gostaram
×
Seja o primeiro a gostar disto
mostrar mais
•
3,344 visualizações
visualizações
×
Vistos totais
0
No Slideshare
0
De incorporações
0
Número de incorporações
0
Check these out next
C++ ポインタ ブートキャンプ
Kohsuke Yuasa
Boost.勉強会#19東京 Effective Modern C++とC++ Core Guidelines
Shintarou Okada
Effective Modern C++ 勉強会#1 Item3,4
Takashi Hoshino
templateとautoの型推論
MITSUNARI Shigeo
君はまだ,本当のプリプロセスを知らない
digitalghost
F#によるFunctional Programming入門
bleis tift
第1回勉強会スライド
koturn 0;
第2回勉強会スライド
koturn 0;
1
de
16
Top clipped slide
C++ tips2 インクリメント編
2 de Dec de 2011
•
0 gostou
1 gostaram
×
Seja o primeiro a gostar disto
mostrar mais
•
3,344 visualizações
visualizações
×
Vistos totais
0
No Slideshare
0
De incorporações
0
Número de incorporações
0
Baixar agora
Baixar para ler offline
Denunciar
Tecnologia
主に cppll ML でご紹介してきた tips をC++の仕様をより掘り下げた形でまとめ直してみました。 今回はインクリメントにフォーカスした内容です。
道化師 堂華
Seguir
Anúncio
Anúncio
Anúncio
Recomendados
C++ tips1 #include編
道化師 堂華
6.4K visualizações
•
31 slides
C++ tips 3 カンマ演算子編
道化師 堂華
6.2K visualizações
•
24 slides
C++ tips4 cv修飾編
道化師 堂華
4K visualizações
•
48 slides
競技プログラミングのためのC++入門
natrium11321
32.9K visualizações
•
63 slides
C++入門?
tsudaa
3.6K visualizações
•
32 slides
C++0x総復習
道化師 堂華
4.9K visualizações
•
170 slides
Mais conteúdo relacionado
Apresentações para você
(20)
C++ ポインタ ブートキャンプ
Kohsuke Yuasa
•
10.9K visualizações
Boost.勉強会#19東京 Effective Modern C++とC++ Core Guidelines
Shintarou Okada
•
13K visualizações
Effective Modern C++ 勉強会#1 Item3,4
Takashi Hoshino
•
2.7K visualizações
templateとautoの型推論
MITSUNARI Shigeo
•
14.8K visualizações
君はまだ,本当のプリプロセスを知らない
digitalghost
•
5.4K visualizações
F#によるFunctional Programming入門
bleis tift
•
3.6K visualizações
第1回勉強会スライド
koturn 0;
•
2.1K visualizações
第2回勉強会スライド
koturn 0;
•
3.9K visualizações
Define and expansion of cpp macro
digitalghost
•
4.2K visualizações
Emcpp0506
Takatoshi Kondo
•
10.4K visualizações
Better C#の脱却を目指して
bleis tift
•
6.3K visualizações
C++11
京大 マイコンクラブ
•
2.6K visualizações
yieldとreturnの話
bleis tift
•
7.4K visualizações
C++コンパイラ GCCとClangからのメッセージをお読みください
digitalghost
•
4.7K visualizações
T69 c++cli ネイティブライブラリラッピング入門
伸男 伊藤
•
5.2K visualizações
知って得するC#
Shota Baba
•
9.7K visualizações
最新C++事情 C++14-C++20 (2018年10月)
Akihiko Matuura
•
1.7K visualizações
モナドハンズオン前座
bleis tift
•
5.7K visualizações
Implicit Implicit Scala
Kota Mizushima
•
1.4K visualizações
Effective modern C++ 勉強会 #3 Item 12
Keisuke Fukuda
•
2.4K visualizações
Similar a C++ tips2 インクリメント編
(20)
C#勉強会
hakugakucafe
•
1.6K visualizações
Boost17 cpplinq
miki_hirofumi
•
4K visualizações
boost - std - C#
Tatsuya Ishikawa
•
2.9K visualizações
NumPyが物足りない人へのCython入門
Shiqiao Du
•
36.5K visualizações
Wrapping a C++ library with Cython
fuzzysphere
•
4K visualizações
Unity ネイティブプラグインの作成について
Tatsuhiko Yamamura
•
47.8K visualizações
C#や.NET Frameworkがやっていること
信之 岩永
•
59.8K visualizações
グリとブランのC++講座 ~c++98(stl)と、ほんのちょっとのc++11~
HEXADRIVE Inc.
•
13.5K visualizações
わんくま同盟大阪勉強会#61
TATSUYA HAYAMIZU
•
952 visualizações
C++ lecture-0
sunaemon
•
1.3K visualizações
C++0xの概要(デブサミ2010)
Akira Takahashi
•
1.3K visualizações
Swiftによる関数型プログラミング超入門
Hisakuni Fujimoto
•
2.1K visualizações
F#のinlineと型推論(狩)
Kazuhiro Matsushima
•
1.8K visualizações
C++の復習
Toshihiko Ando
•
3K visualizações
[2001/05/30] .NET Developers Conference 2001 May / C#の生産性とパフォーマンス
Tatsuhiko Tanaka
•
254 visualizações
.NETの自作ツール公開手段
Pierre3 小林
•
188 visualizações
More C++11
京大 マイコンクラブ
•
13.9K visualizações
What is template
Akira Takahashi
•
2.9K visualizações
Cython intro prelerease
Shiqiao Du
•
1.8K visualizações
はじめてのCodeIgniter
Yuya Matsushima
•
6.4K visualizações
Anúncio
Mais de 道化師 堂華
(8)
Reflection with xamarin.forms
道化師 堂華
•
2.2K visualizações
独りガラパゴス開発
道化師 堂華
•
5K visualizações
エラーハンドリングモデル考察
道化師 堂華
•
5K visualizações
C++プログラマの為のセキュリティ入門
道化師 堂華
•
2.9K visualizações
マスタリング バベル
道化師 堂華
•
1.5K visualizações
並列プログラミング入門!&おさらい!
道化師 堂華
•
10.5K visualizações
バグベアード入門
道化師 堂華
•
2.1K visualizações
LUCIFERの設計コンセプトと 導入予定の機能紹介
道化師 堂華
•
865 visualizações
Último
(20)
3Dプリンタって いいね
infinite_loop
•
22 visualizações
Omnis
DaisukeFujita10
•
15 visualizações
20230516 @Mix Leap Hirohiko_Suwa
Masashi Nakagawa
•
83 visualizações
Üslup ve tercüme.pdf
1Hmmtks
•
2 visualizações
留信网认证可查【皇家霍洛威学院文凭证书毕业证购买】
32lkhng
•
2 visualizações
ChatGPT + LlamaIndex 0 .6 による チャットボット の実装
Takanari Tokuwa
•
38 visualizações
☀️【麦吉尔大学毕业证成绩单留学生首选】
15sad
•
3 visualizações
TestSIP (1).pdf
DeependraSingh712859
•
2 visualizações
触感に関わる共感覚的表現と基本6感情の対応関係の検証
Matsushita Laboratory
•
0 visão
Forguncy8 製品概要 202305.pptx
フォーガンシー
•
38 visualizações
オレオレになりがちなテスト計画を見直した話
terahide
•
25 visualizações
初学者のためのプロンプトエンジニアリング実践.pptx
Akifumi Niida
•
376 visualizações
CDLEハッカソン2022参加報告.pdf
SHOIWA1
•
7 visualizações
Forguncy製品概要.pptx
フォーガンシー
•
0 visão
☀️【卡尔顿大学毕业证成绩单留学生首选】
15sad
•
2 visualizações
JSONEncoderで詰まった話
とん とんぼ
•
22 visualizações
JSTQB_テストマネジメントとレビュープロセス.pdf
akipii Oga
•
113 visualizações
20230523_IoTLT_vol99_kitazaki_v1.pdf
Ayachika Kitazaki
•
107 visualizações
SoftwareControl.pdf
ssusercd9928
•
6 visualizações
【DL輪読会】Egocentric Video Task Translation (CVPR 2023 Highlight)
Deep Learning JP
•
6 visualizações
Anúncio
C++ tips2 インクリメント編
Boost.勉強会 #7 東京
( 2011-12-03 ) C++ TIPS 2 インクリメント編
概要 主に cppll
ML でご紹介してきた tips をC++ の仕様をより掘り下げた形でまとめ直し てみました。 今回はインクリメントにフォーカスした 内容です。 C++ Tips Boost.勉強会 #7 東京 2
C++ Tips インクリメント
インクリメントとは? プログラミング用語としてのインクリメント
は値を+1したりあるいはイテレータなどを 一つ進めることを意味し、デクリメントは逆 に-1したり一つ戻したりすることを意味し ます。 C言語およびC言語を文法のベースにしている 多くの言語では ++ がインクリメント演算子 として、 -- がデクリメント演算子と使えます。 C++ Tips Boost.勉強会 #7 東京 4
インクリメントとは? インクリメント演算子もデクリメント演
算子もひとつの値を対象とする単項演算 子です。 ++i のようにインクリメント演算子を演算 対象の値の前に置くと前置インクリメン トと呼ばれi++のように値の前に置くと後 置インクリメント呼ばれます。 C++ Tips Boost.勉強会 #7 東京 5
インクリメントとは? ++i であっても
i++ であっても i はインクリ メントされます。 前置と後置の違いは式の評価値が、前置 の場合はインクリメント後の値となり、 後置の場合はインクリメント前の値とな ることです。 C++ Tips Boost.勉強会 #7 東京 6
未定義動作 関数引数内で同じ変数に大してインクリ メントやデクリメントをやっちゃうと未 定義動作になってしまうので気をつけま しょう。 int
a = 0; ++a; // OK ++a; // OK f(++a, ++a); // NG C++ Tips Boost.勉強会 #7 東京 7
未定義動作 ポインタや参照を使うと分かり難い形で この未定義動作になってしまうことがあ るので要注意です。 void f(int
&a, int &b) { h(++a, ++b); } void g(int &c) { f(c,c); } // NG C++ Tips Boost.勉強会 #7 東京 8
インクリメントの定義 C++ではユーザー定義のクラスであってもイ
ンクリメント/デクリメントを定義できます。 言語使用上はその中身は別にインクリメント /デクリメントに類する処理である必要はあ りません。 ただ、混乱の元になるだけなのでインクリメント/ デクリメントおよびそれに類する処理以外に使う のはやめておきましょう。 C++ Tips Boost.勉強会 #7 東京 9
インクリメントの定義 class hoge {
public: typedef hoge this_type; int value; this_type & operator ++ () { // 前置インクリメント ++value; return *this; } this_type operator ++ (int) { // 後置インクリメント this_type temp(*this); ++value; return temp; } }; C++ Tips Boost.勉強会 #7 東京 10
メンバー関数呼び出し風の使用 通常のメンバー関数と同じ形式での呼び 出しも可能です。 hoge
hige; hige.operator++(); // 前置インクリメント hige.operator++(0); // 後置インクリメント C++ Tips Boost.勉強会 #7 東京 11
メンバー関数呼び出し風の使用 後置インクリメントの引数は通常のメン バー関数と同様に使おうと思えば普通に 使えます。
通常のメンバー関数と同じ形式で呼び出す場 合に限る話であり、i++ のような形式では呼び 出し側から任意の値を渡すことはできません。 C++ Tips Boost.勉強会 #7 東京 12
後置で複製を作らないには? デストラクタでインクリメントを行う一時オブ ジェクトを作ることで、後置インクリメントの
実装で自身の複製を作らないようにすることも 可能です。 どのみち、なんらかの一時オブジェクトが必要である ことには変わりが無い。 型が変わってしまうという副作用がある為、あまり推 奨できません。 複製のコストが高いクラスやストリームのイテレータ などで有効な手段となります。 C++ Tips Boost.勉強会 #7 東京 13
どちらでもよい場合は前置 通常、組み込み型以外の後置インクリメントではイン
クリメント前のコピーである一時オブジェクトを返す ことになり、前置インクリメントでも構わない場合に 後置インクリメントを使うことは無駄なコストを支払 うことになるのでどちらでもよい場合は前置インクリ メントを使いましょう。 組み込み型の場合はどちらでも気にする必要はありま せんが、統一性の観点やコード修正により変数の型が 組み込み型でなくなった場合に備えて、組み込み型で も前置インクリメントを使いましょう。 C++ Tips Boost.勉強会 #7 東京 14
C++ Tips 質疑応答
C++ Tips ご清聴ありがとうございました。
Anúncio