次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part132
http://mevius.5ch.net/test/read.cgi/tech/1507561894/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.102【環境依存OK】
http://mevius.5ch.net/test/read.cgi/tech/1509780815/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
C++相談室 part133
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 1fcf-H1rY)
2017/11/24(金) 16:52:50.43ID:WoNXR2ax02デフォルトの名無しさん (ワッチョイ 5fcf-H1rY)
2017/11/24(金) 16:53:45.38ID:WoNXR2ax0 STLつかうと一気に実行ファイルサイズが10倍に?!
環境によるだろ。
俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力
ランタイムを使用するようにして使っているが、例えばstd::vectorを
使っても使わない時と比べ10Kほどしか増えない
すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。
C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
とかいうエラーが出るんだけどこれってどうすればいいの?
#include <stdafx.h>
後死ね。
言葉が悪いな。それで教えているつもりか。
まぁヒントぐらいにはなったな。
うむごくろう。
---- テンプレ ここまで ----
環境によるだろ。
俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力
ランタイムを使用するようにして使っているが、例えばstd::vectorを
使っても使わない時と比べ10Kほどしか増えない
すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。
C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
とかいうエラーが出るんだけどこれってどうすればいいの?
#include <stdafx.h>
後死ね。
言葉が悪いな。それで教えているつもりか。
まぁヒントぐらいにはなったな。
うむごくろう。
---- テンプレ ここまで ----
3デフォルトの名無しさん (ワッチョイ 8746-TjkM)
2017/11/24(金) 17:23:34.21ID:tVS6N6Kc0 >関数内で作ったベクターやマップは関数を抜けたらメモリ解放されると考えてよかです?
だって今回の話はmove関係ないし
質問とは関係ない余計なことを言って知識をひけらかしたかっただけの人でしょ
今回の話であれば
「自動変数であればスコープを抜けるときにデストラクタが走って解放される」
というだけの話
それ以上の話はまた別の話
>うん、信じていい
>XXから抜けるときにムーブコンストラクタでtmpへ移動され
>createmapから抜けるときに解放される
>このときoperator deleteが呼び出されるが
>operator deleteがどのようなタイミングで解放しているかには依存すべきでない
>我々が関心を持つべきはoperator deleteが呼び出されるタイミングで実装の詳細ではない
↑依存すべきでは無い、と言っておいて、関心を持つべき、と言ってみたり
実装の詳細に関心を持つべきでない、と言っておいて、vectorの実装詳細を語ったり
言ってることやってることが支離滅裂で、意味不明だろう
ついでにバージョンによってRVOどうのこうのも、質問には関係が無い余談だし
そもそもバージョンの話するんなら昔のC++はmoveセマンティクス無いし
しかし、どうであれ、どのみち質問には関係が無い
だって今回の話はmove関係ないし
質問とは関係ない余計なことを言って知識をひけらかしたかっただけの人でしょ
今回の話であれば
「自動変数であればスコープを抜けるときにデストラクタが走って解放される」
というだけの話
それ以上の話はまた別の話
>うん、信じていい
>XXから抜けるときにムーブコンストラクタでtmpへ移動され
>createmapから抜けるときに解放される
>このときoperator deleteが呼び出されるが
>operator deleteがどのようなタイミングで解放しているかには依存すべきでない
>我々が関心を持つべきはoperator deleteが呼び出されるタイミングで実装の詳細ではない
↑依存すべきでは無い、と言っておいて、関心を持つべき、と言ってみたり
実装の詳細に関心を持つべきでない、と言っておいて、vectorの実装詳細を語ったり
言ってることやってることが支離滅裂で、意味不明だろう
ついでにバージョンによってRVOどうのこうのも、質問には関係が無い余談だし
そもそもバージョンの話するんなら昔のC++はmoveセマンティクス無いし
しかし、どうであれ、どのみち質問には関係が無い
4デフォルトの名無しさん (ワッチョイ 5fb3-9Jqp)
2017/11/24(金) 19:29:11.47ID:FCfoZStM0 何故建てたし
5デフォルトの名無しさん (アウアウカー Sadb-ZI9b)
2017/11/24(金) 20:40:51.17ID:X0HwtQDQa 保守
6デフォルトの名無しさん (ワッチョイ 5f34-y0n2)
2017/11/24(金) 20:43:34.75ID:06etO6GG0 >>2
いつまでこの糞テンプレ張り続けるんだおい
いつまでこの糞テンプレ張り続けるんだおい
7デフォルトの名無しさん (ワッチョイ 0778-4Z1+)
2017/11/24(金) 22:22:42.08ID:l1+FhW7v0 v(^・^)vはどこ行った?
8デフォルトの名無しさん (ワッチョイ 7f6e-Mqmq)
2017/11/24(金) 22:59:15.71ID:9/UAKu4i0 前スレ995
https://mevius.5ch.net/test/read.cgi/tech/1507561894/995
おまえは何を言っているんだ?
= delete;が03でNGになるのは当たり前だろ
https://mevius.5ch.net/test/read.cgi/tech/1507561894/995
おまえは何を言っているんだ?
= delete;が03でNGになるのは当たり前だろ
9デフォルトの名無しさん (ワッチョイ 7f6e-Mqmq)
2017/11/24(金) 23:01:10.76ID:9/UAKu4i010デフォルトの名無しさん (ワッチョイ 8746-TjkM)
2017/11/24(金) 23:25:11.19ID:tVS6N6Kc0 前スレのおバカさんか
>このときoperator deleteが呼び出されるが
>operator deleteがどのようなタイミングで解放しているかには依存すべきでない
>我々が関心を持つべきはoperator deleteが呼び出されるタイミングで実装の詳細ではない
↑これの説明してみ?
好意的に解釈することもできるが、どのみち意味不明すぎる
>このときoperator deleteが呼び出されるが
>operator deleteがどのようなタイミングで解放しているかには依存すべきでない
>我々が関心を持つべきはoperator deleteが呼び出されるタイミングで実装の詳細ではない
↑これの説明してみ?
好意的に解釈することもできるが、どのみち意味不明すぎる
11はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-KsIq)
2017/11/24(金) 23:43:36.87ID:lG8HVUMw012デフォルトの名無しさん (ワッチョイ 8746-TjkM)
2017/11/24(金) 23:59:00.33ID:tVS6N6Kc0 まぁ、>>10の意味不明な文章の解釈などどっちでも良いんだが
質問者はvectorな自動変数の寿命に関して、RAIIが正しく行われるか
不安だから聞いているだけなのに、moveがどうとかドヤッた挙句
RVOが働いたらmoveされないんじゃね?ってのはお粗末すぎる
return vec;で、RVOが働くか、ムーブコンストラクタになるか、コピーコンストラクタになるか、は
コンパイラの銘柄とバージョンと最適化のオプションによるだろうし
もしかしたら、コンパイラの気分で変わるかもしれないし
なんだったら、関数がインライン展開されたらまた前提が変わってくるだろうよ
なんで、こんなことは考えるだけ無意味であるし
というか、考えなくてよいように作ってあるし
むしろ、考えてはダメというか、依存させてはいけないという意味で
余計なこと(悪いこと)は考えないほうが良いし
結局、質問者には
vectorな自動変数はスコープを抜けると寿命が尽きてデストラクタが呼ばれて解放される
というC++の根底のDNAである、RAIIのルールだけ言えばよいわけで
質問者はvectorな自動変数の寿命に関して、RAIIが正しく行われるか
不安だから聞いているだけなのに、moveがどうとかドヤッた挙句
RVOが働いたらmoveされないんじゃね?ってのはお粗末すぎる
return vec;で、RVOが働くか、ムーブコンストラクタになるか、コピーコンストラクタになるか、は
コンパイラの銘柄とバージョンと最適化のオプションによるだろうし
もしかしたら、コンパイラの気分で変わるかもしれないし
なんだったら、関数がインライン展開されたらまた前提が変わってくるだろうよ
なんで、こんなことは考えるだけ無意味であるし
というか、考えなくてよいように作ってあるし
むしろ、考えてはダメというか、依存させてはいけないという意味で
余計なこと(悪いこと)は考えないほうが良いし
結局、質問者には
vectorな自動変数はスコープを抜けると寿命が尽きてデストラクタが呼ばれて解放される
というC++の根底のDNAである、RAIIのルールだけ言えばよいわけで
13デフォルトの名無しさん (ワッチョイ 8746-TjkM)
2017/11/25(土) 00:07:29.16ID:gBFdbUKG0 vectorな自動変数 という表現はちょっとアレだったかもしれん
まぁ、vector型として宣言された自動変数 のこと・・
まぁ、vector型として宣言された自動変数 のこと・・
14デフォルトの名無しさん (オッペケ Srfb-gBtc)
2017/11/25(土) 00:10:16.37ID:5IwBrrUdr 「コンパイラの銘柄とバージョンと最適化のオプションによる」
少なくとも991の置いたC++17の前提ではムーブコンストラクターやコピーコンストラクターは有り得ないのだが、
ひょっとして前提をすり替えられたのだろうか
少なくとも991の置いたC++17の前提ではムーブコンストラクターやコピーコンストラクターは有り得ないのだが、
ひょっとして前提をすり替えられたのだろうか
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「レーダー照射」なぜ中国は素直に謝罪しないのか 非を認めず反論、逆ギレ「ごめんなさい」と言えない国情★3 [七波羅探題★]
- 【サッカー】Jリーグ、43億円の赤字予算を承認 ★2 [鉄チーズ烏★]
- 松村沙友理、スタバは好きだけど「やっぱコーヒーに700円800円が…」「家でお湯わかしてやったらタダやん」 [muffin★]
- 40代教員、1億8600万円分の暗号資産だまし取られる 「警察手帳のような物」見せられ−滋賀県草津市 [蚤の市★]
- 上野動物園の双子パンダ、1月末に中国に返還へ 国内でパンダ不在に ★4 [蚤の市★]
- 【ラブホ】小川晶前市長、出直し立候補意向 周囲に伝達 群馬・前橋市長選 [ぐれ★]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★8
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★7
- ブレイキングダウンの試合前挑発タイムでくも膜下出血 朝倉未来の責任は [279254606]
- 困ったことにカレーも食べたいけどトンカツも食べたい
- 三浦春馬最近見ないと思ったら亡くなってたのか
- この韓国人可愛すぎない?
