次スレを立てる時は本文の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の前提ではムーブコンストラクターやコピーコンストラクターは有り得ないのだが、
ひょっとして前提をすり替えられたのだろうか
15デフォルトの名無しさん (ワッチョイ 8746-TjkM)
2017/11/25(土) 00:27:25.13ID:gBFdbUKG0 それは>>991が言ってるだけで
質問者はC++17とは言ってない
質問者に対して、もしC++17の場合は必ずRVOになるので〜〜という説明をしたとして
これもあまり意味が無いというか、関係が無い
質問者はvectorがRAIIを徹底していのるか心配になったから聞いているだけ
その意味ではRVOだろうがムーブだろうがコピーだろうが、関係が無い
質問者はC++17とは言ってない
質問者に対して、もしC++17の場合は必ずRVOになるので〜〜という説明をしたとして
これもあまり意味が無いというか、関係が無い
質問者はvectorがRAIIを徹底していのるか心配になったから聞いているだけ
その意味ではRVOだろうがムーブだろうがコピーだろうが、関係が無い
16デフォルトの名無しさん (ワッチョイ 5fe7-8Ex9)
2017/11/25(土) 00:33:53.19ID:Sg1k8TV00 991がC++17のことを言っているのはちょっと脱線しただけであって、
話の前提でもないし質問の意図に沿ったものでもないよな
話の前提でもないし質問の意図に沿ったものでもないよな
17デフォルトの名無しさん (ワッチョイ 5fb3-CDhT)
2017/11/25(土) 09:33:20.80ID:+Jz8ZPqE0 なけなしの知識でドヤってるだけやろ w
18デフォルトの名無しさん (ブーイモ MM7f-N4rA)
2017/11/25(土) 21:47:56.71ID:fPJ/ssThM const参照を返す関数があるのだけど、autoで効率よく戻り値を受け取るには
const auto&とか書かなきゃいけないの?
それともdecltype(auto)とかするの?
const auto&とか書かなきゃいけないの?
それともdecltype(auto)とかするの?
19デフォルトの名無しさん (ワッチョイ 5fbd-hcjg)
2017/11/25(土) 23:24:46.27ID:afKc1pIZ0 ↑嘔吐するから漏れには関係ない
それよか想定上はconstメソッドなのだが実際のところ実装がどうされるかわからない抽象仮想関数にconstをつけて良いものかどうか
いつも悩む
それよか想定上はconstメソッドなのだが実際のところ実装がどうされるかわからない抽象仮想関数にconstをつけて良いものかどうか
いつも悩む
20デフォルトの名無しさん (ワッチョイ 7fa5-5mWG)
2017/11/25(土) 23:33:46.79ID:mxSpQEHX0 autoで受けて余計なコピーを発生させちゃう困ったちゃん
21デフォルトの名無しさん (ワッチョイ c74b-gliV)
2017/11/26(日) 03:45:55.11ID:I/ckFlEt0 >>19
良い。
良い。
22デフォルトの名無しさん (ワッチョイ dfeb-+V5r)
2017/11/26(日) 03:58:55.87ID:DFCtUaBX023デフォルトの名無しさん (ワッチョイ 5fcc-tupB)
2017/11/26(日) 04:29:20.65ID:g3197Gxk0 最近勉強始めたばかりで100までの範囲の数字を入力したらそれが1〜10,11〜20,・・・91〜100のどの範囲にあるか判定したいけどif文10個用意する方法より綺麗にするにはどうしたらいい?
24片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd7f-PBlX)
2017/11/26(日) 04:32:18.07ID:KjdhQPtsd -1
25片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd7f-PBlX)
2017/11/26(日) 04:33:56.38ID:KjdhQPtsd switch ((x - 1) / 10)
26デフォルトの名無しさん (ワッチョイ 5fcf-H1rY)
2017/11/26(日) 04:42:41.92ID:Dn1yAmWU027デフォルトの名無しさん (ワッチョイ 07b3-5mWG)
2017/11/26(日) 09:12:00.52ID:8WHK08hV0 >>23
(x-1)/10
(x-1)/10
28デフォルトの名無しさん (ブーイモ MMcf-V9cG)
2017/11/26(日) 10:40:50.63ID:q1KSvIhfM29デフォルトの名無しさん (ブーイモ MM7f-N4rA)
2017/11/26(日) 11:43:40.48ID:OJziPoG6M >>19>>20
結局どうしたらいいの...
結局どうしたらいいの...
30デフォルトの名無しさん (オッペケ Srfb-gBtc)
2017/11/26(日) 11:56:21.91ID:OeykFUMSr >>29
auto &&unko = f();
auto &&unko = f();
31デフォルトの名無しさん (アウアウカー Sadb-Fzm/)
2017/11/26(日) 17:24:53.04ID:+CosUOwya Win32とかだとフラグ管理でビット演算利用してるけど、今どきのc++17だとどのようにするのがベスト?
32デフォルトの名無しさん (ワッチョイ 07eb-5mWG)
2017/11/26(日) 17:30:11.12ID:DaGrByo80 C++入門書でよく勉強したはずなのにautoとかconstexprとか知らんもんが一杯…
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★2 [ぐれ★]
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か [ぐれ★]
- 京都のホテル大幅値下げ 訪日中国人客、年1000万人目前で急ブレーキ [蚤の市★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★8 [蚤の市★]
- 「中国人の訪日熱は冷めた」 人気旅行先から日本外れる 14日で自粛呼びかけ1カ月 ★3 [蚤の市★]
- 現場からは悲鳴、母親からは「高い」「性犯罪が怖い」の声も…高市総理がどうしても実現したい政策「ベビーシッターの利用促進」 [ぐれ★]
- 議員定数削減法案、廃案へwmwmwmmwmwmwmw [834922174]
- なんG瀬戸環奈で抜く部
- 【悲報】男「セックスしなくなったら彼女のことだんだん許せなくなったわ」→炎上wwwwwwwwwwwwwwwwwwww [802034645]
- 【画像】ハーランド、家でもひたすらサッカーを観てるだけの生活。文句を言う妻に「誰のおかげで飯食えてるんだ?」と一喝 [738130642]
- 【悲報】イオンモール「近くでコンサートあるからその日は男子トイレを女子トイレに変えるわw」→炎上wwwwwwwwwwwwwwwwwwww [802034645]
- 【高市悲報】NHKニュース「発狂している中国に対して、日本は至って冷静」😳 [762037879]
