SlideShare a Scribd company logo
Enviar búsqueda
Cargar
Iniciar sesión
Registrarse
Yokohama6 epi
Denunciar
えぴ 福田
Seguir
NEC通信システム
23 de Aug de 2014
•
0 recomendaciones
•
594 vistas
1
de
12
Yokohama6 epi
23 de Aug de 2014
•
0 recomendaciones
•
594 vistas
Descargar ahora
Descargar para leer sin conexión
Denunciar
Tecnología
えぴ 福田
Seguir
NEC通信システム
Recomendados
kagami_comput2015_7
swkagami
390 vistas
•
21 diapositivas
C言語講習会4
odenhadengaku
2.2K vistas
•
49 diapositivas
Control.Arrow
haru haru
133 vistas
•
16 diapositivas
C言語講習会3
odenhadengaku
2K vistas
•
61 diapositivas
代数的データ型をラムダ計算の中で表現する方法
syamino
7.6K vistas
•
24 diapositivas
私を SKI に連れてって
Susisu
2.1K vistas
•
66 diapositivas
Más contenido relacionado
La actualidad más candente
C言語講習会1
odenhadengaku
40.3K vistas
•
36 diapositivas
ナウなヤングにバカうけのイカしたタグ付き共用体
digitalghost
2.3K vistas
•
24 diapositivas
Scala 初心者が Hom 函手を Scala で考えてみた
Kazuyuki TAKASE
484 vistas
•
21 diapositivas
Scala 初心者が米田の補題を Scala で考えてみた
Kazuyuki TAKASE
5.5K vistas
•
64 diapositivas
Implicit Explicit Scala
Kota Mizushima
2.3K vistas
•
90 diapositivas
Implicit Implicit Scala
Kota Mizushima
1.4K vistas
•
39 diapositivas
La actualidad más candente
(20)
C言語講習会1
odenhadengaku
•
40.3K vistas
ナウなヤングにバカうけのイカしたタグ付き共用体
digitalghost
•
2.3K vistas
Scala 初心者が Hom 函手を Scala で考えてみた
Kazuyuki TAKASE
•
484 vistas
Scala 初心者が米田の補題を Scala で考えてみた
Kazuyuki TAKASE
•
5.5K vistas
Implicit Explicit Scala
Kota Mizushima
•
2.3K vistas
Implicit Implicit Scala
Kota Mizushima
•
1.4K vistas
kagamicomput201807
swkagami
•
324 vistas
Web05
XMLProJ2014
•
474 vistas
C言語講習会2
odenhadengaku
•
2.8K vistas
Introduction to lambda calculation
relipmoc101
•
58 vistas
Introduction to Categorical Programming
Masahiro Sakai
•
1.7K vistas
5 Info Theory
melvincabatuan
•
4.5K vistas
Startprintf_2013May18
Shigekazu Takei
•
799 vistas
こわくない型クラス
Kota Mizushima
•
7.6K vistas
やさしく知りたいC言語
uru nru
•
44.3K vistas
#6:実数と繰り返し
長岡技術科学大学 自然言語処理研究室
•
276 vistas
SICP
S W
•
470 vistas
Introduction to Categorical Programming (Revised)
Masahiro Sakai
•
6.4K vistas
Ilerpg Study 002
Yoshiki Ushida
•
1.2K vistas
C++ tips 3 カンマ演算子編
道化師 堂華
•
6.2K vistas
Destacado
T77 episteme
えぴ 福田
663 vistas
•
14 diapositivas
ぱっと見でわかるC++11
えぴ 福田
1.6K vistas
•
16 diapositivas
T69 episteme
えぴ 福田
483 vistas
•
29 diapositivas
T45 episteme
えぴ 福田
521 vistas
•
11 diapositivas
Episteme unique_ptr
えぴ 福田
835 vistas
•
10 diapositivas
Episteme variadic template
えぴ 福田
988 vistas
•
13 diapositivas
Destacado
(9)
T77 episteme
えぴ 福田
•
663 vistas
ぱっと見でわかるC++11
えぴ 福田
•
1.6K vistas
T69 episteme
えぴ 福田
•
483 vistas
T45 episteme
えぴ 福田
•
521 vistas
Episteme unique_ptr
えぴ 福田
•
835 vistas
Episteme variadic template
えぴ 福田
•
988 vistas
.NETラボ 2013-12-21 LT
えぴ 福田
•
724 vistas
中3女子でもわかる constexpr
Genya Murakami
•
48.7K vistas
BoostAsioで可読性を求めるのは間違っているだろうか
Yuki Miyatake
•
14.2K vistas
Último
ReonHata_JSAI2023
Matsushita Laboratory
12 vistas
•
33 diapositivas
20230912JSSST大会基調講演_丸山.pdf
Hiroshi Maruyama
152 vistas
•
58 diapositivas
テスト自動化.pdf
ssuserf8ea02
11 vistas
•
26 diapositivas
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
NTT DATA Technology & Innovation
20 vistas
•
21 diapositivas
IGDA Japan SIG Audio #20-1 室内・野外でのマイク収録と整音.pdf
IGDA Japan SIG-Audio
85 vistas
•
31 diapositivas
gtk4_gem_usage.pdf
ssuser0ef4681
9 vistas
•
6 diapositivas
Último
(8)
ReonHata_JSAI2023
Matsushita Laboratory
•
12 vistas
20230912JSSST大会基調講演_丸山.pdf
Hiroshi Maruyama
•
152 vistas
テスト自動化.pdf
ssuserf8ea02
•
11 vistas
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
NTT DATA Technology & Innovation
•
20 vistas
IGDA Japan SIG Audio #20-1 室内・野外でのマイク収録と整音.pdf
IGDA Japan SIG-Audio
•
85 vistas
gtk4_gem_usage.pdf
ssuser0ef4681
•
9 vistas
松下研究室紹介_関西大学高槻キャンパスオープンキャンパス
Matsushita Laboratory
•
21 vistas
HarukiShinkawa_FIT2023
Matsushita Laboratory
•
17 vistas
Yokohama6 epi
1.
わんくま同盟 横浜勉強会 #06 C++11
: 右辺値参照 ておいしいの? わんくま同盟 episthmh epi@c3-net.ne.jp
2.
わんくま同盟 横浜勉強会 #06 C++
は むずかしいややこしい class Foo; void f(Foo x); ← 値 (C) void f(Foo* x); ← ポインタ (C) void f(Foo& x); ← 参照 (C++) ...こんだけでも十分ややこしいのに void f(Foo&& x); ← 右辺値参照(C++11 NEW)
3.
わんくま同盟 横浜勉強会 #06 そもそも「右辺値(R-value)」てナニよ? z
= f( x+1 ) + 2 * y; すっごくテキトーに言えば 「その場限りに作られた値」 → 代入や関数に渡されたら用済みとなる = 廃棄される MOTTAINAI!
4.
わんくま同盟 横浜勉強会 #06 move
semantics y = x; は、 フツーなら “x を y に copy” だけど x が右辺値なら 右辺を copy の後 廃棄するんだから 意味的には move だよね。 copy+廃棄 コスト > move コスト なら move の方がお得よね♪
5.
わんくま同盟 横浜勉強会 #06 copy
より move がお得な典型例 template<typename T> class novice_vector { private: T* data_; // Tの列 size_t size_; // 要素数 size_t capacity_; // 容量 … }; あいうえお よくある コンテナ/コレクション
6.
わんくま同盟 横浜勉強会 #06 copy
ctor novice_vector(const novice_vector& other) : size_(other.size_), capacity_(other.capacity_) { // 領域を確保して data_ = new T[capacity_]; // 引数からcopyする for ( size_t i = 0; i < size_; ++i ) { data_[i] = other.data_[i]; } }
7.
わんくま同盟 横浜勉強会 #06 copy
operator ‘=‘ novice_vector& operator=(const novice_vector& other) { // 現data_を廃棄し delete[] data_; // 新たに領域を確保して data_ = new T[other.cpacity_]; // 右辺からcopyする for ( size_t i = 0; i < other.size_; ++i ) { data_[i] = other.data_[i]; } size_ = other.size_; capacity_ = other_.capacity_; return *this; }
8.
わんくま同盟 横浜勉強会 #06 novice_vector<T>
のcopy あいうえお ABCD あいうえお ???? 左辺 右辺 ABCD ABCD 廃棄 生成
9.
わんくま同盟 横浜勉強会 #06 novice_vector<T>
のcopy ABCD ABCD ABCD 左辺 右辺 ABCD 2 廃棄 1 生成 1 コピー 廃棄 コピー
10.
わんくま同盟 横浜勉強会 #06 move
ctor novice_vector(novice_vector&& other) // 右辺のナカミをもらって : size_(other.size_), capacity_(other.capacity_) { data_ = other.data_; // 右辺側は空にする other.data_ = nullptr; other.size_ = 0; other.capacity_ = 0; }
11.
わんくま同盟 横浜勉強会 #06 move
operator ‘=‘ novice_vector& operator=(novice_vector&& other) { // 右辺のナカミをもらって size_ = other.size_; capacity_ = other.capacity_; data_ = other.data_; // 右辺側は空にする other.data_ = nullptr; other.size_ = 0; other.capacity_ = 0; return *this; }
12.
わんくま同盟 横浜勉強会 #06 novice_vector<T>
のmove あいうえお ABCD あいうえお 左辺 右辺値 ABCD ABCD nullptr 1 廃棄 0 生成 0 コピー 廃棄