17/11/24 12:38:49.19 p8RxfMqqa.net
C++を勉強しようとしてるんだが
基本的にCの書き方が一般なのか
C++の書き方が一般なのか教えてもらいたい
1000:デフォルトの名無しさん
17/11/24 12:51:25.91 l1+FhW7v0.net
コーディングスタイル?
そんなの好きにすればいいよ
1001:デフォルトの名無しさん
17/11/24 13:21:28.52 w0OmJEj50.net
>>982
Cの書き方とかC++の書き方とか一般的とかない
「一般的」なるものを求めたいならメジャーなIDEのデフォルトのオートフォーマットだろうな
1002:
17/11/24 13:44:06.80 ZNkp8uW60.net
>>964
結局こうなりました
URLリンク(ideone.com)
1003:はちみつ餃子
17/11/24 14:07:55.96 lG8HVUMw0.net
>>985
operator+= の返却値は参照にしといた方が辻褄が合うので良いよ
1004:デフォルトの名無しさん
17/11/24 14:10:30.10 /RqU0h4Pd.net
関数内で作ったベクターやマップは関数を抜けたらメモリ解放されると考えてよかです?
1005:はちみつ餃子
17/11/24 14:13:40.22 lG8HVUMw0.net
>>987
記憶クラスによる。
1006:デフォルトの名無しさん
17/11/24 14:25:57.62 /RqU0h4Pd.net
>>988
記憶クラスによるとは
スマホで打ってるから書式とかガタガタだけど下みたいなことしてる
createmapってのを抜けたときにvectorもmapも解放されると信じている
vector XX( *map)
{
要素数二個のstring型のvectorデータを作成
return vector<string> ←要素数2
}
createmap ()
{
map<string,string> y
{
vector<string> tmp = XX(&y)
y.insert( tmp[1] , tmp[2])
}
}
1007:デフォルトの名無しさん
17/11/24 14:36:50.33 9/UAKu4i0.net
うん、信じていい
XXから抜けるときにムーブコンストラクタでtmpへ移動され
createmapから抜けるときに解放される
このときoperator deleteが呼び出されるが
operator deleteがどのようなタイミングで解放しているかには依存すべきでない
我々が関心を持つべきはoperator deleteが呼び出されるタイミングで実装の詳細ではない
1008:はちみつ餃子
17/11/24 15:15:03.03 lG8HVUMw0.net
>>989
static 付きで宣言してればプログラムの終わりに解体されるし、
new で作れば delete されたときが解体されるし、
そうでなければスコープの終わりに解体される。
「関数内で作った」というだけでは情報不足。
>>989 のような例であればスコープの終わりで解体されることは保証される。
それと >>990 はムーブコンストラクタの話を出してるけど C++17 以降ではこういう場合は RVO の発動が必須になってなかったっけ?
1009:デフォルトの名無しさん
17/11/24 15:33:02.71 9/UAKu4i0.net
>>991
990だが、何を言っているのか、悪いがよくわからん
XXがcreatemapとは別の翻訳単位から外部結合されている場合でも
その何だ、ムーブコンストラクタの回避(?)が必須になったのか?
1010:はちみつ餃子
17/11/24 16:06:58.81 lG8HVUMw0.net
>>992
そう。 RVO 必須だからコピーコンストラクタもムーブコンストラクタも無いクラスでも OK っていう新しいルール。
URLリンク(wandbox.org)
1011:デフォルトの名無しさん
17/11/24 16:44:55.52 9/UAKu4i0.net
>>993
OK? それは03でも同じことやん
1012:はちみつ餃子
17/11/24 16:48:44.24 lG8HVUMw0.net
>>994
いや >>993 みたいなのは C++14 以前では NG になるよ。
1013:デフォルトの名無しさん
17/11/24 16:54:03.03 WoNXR2ax0.net
C++相談室 part133
スレリンク(tech板)
1014:デフォルトの名無しさん
17/11/24 16:58:12.64 jkTO/gHT0.net
乙。
1015:デフォルトの名無しさん
17/11/24 17:04:12.57 BCw6/Ft50.net
彼。
1016:はちみつ餃子
17/11/24 17:07:25.34 lG8HVUMw0.net
>>999 なら長門有希は俺の嫁
1017:はちみつ餃子
17/11/24 17:07:54.81 lG8HVUMw0.net
>>1000 なら双葉杏も俺の嫁
1018:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 45日 16時間 56分 20秒
1019:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています