次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part133
http://mevius.5ch.net/test/read.cgi/tech/1511509970/
このスレもよろしくね。
【初心者歓迎】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
C++相談室 part134
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 5fcb-Q2eK)
2018/01/20(土) 09:05:42.21ID:mJKRg6iz0573デフォルトの名無しさん (ワッチョイ 260e-hn8E)
2018/03/13(火) 14:59:18.81ID:qHQADaBY0 定数を定数に置き換えるってなんだよ
リテラルは定数なり変数なりにって感じで読み替えといて
リテラルは定数なり変数なりにって感じで読み替えといて
574デフォルトの名無しさん (スップ Sd8a-6rgV)
2018/03/13(火) 15:34:48.40ID:VrugGyEjd575デフォルトの名無しさん (ワッチョイ cb38-uQtz)
2018/03/13(火) 15:51:51.20ID:92t/zLSk0 uint16_t word = (hi << CHAR_BIT) | lo;
これCHAR_BIT != 8な環境を意識するんなら、16って書いてあるのも問題だね
const int micro_per_sec = 1000000;
int us = sec * micro_per_sec;
こう書けって言われたら俺はお断りする
これCHAR_BIT != 8な環境を意識するんなら、16って書いてあるのも問題だね
const int micro_per_sec = 1000000;
int us = sec * micro_per_sec;
こう書けって言われたら俺はお断りする
576デフォルトの名無しさん (ワンミングク MMda-GEnZ)
2018/03/13(火) 16:10:54.91ID:lXm9DcKjM e = 2.71828;
p = 3.1415;
p = 3.1415;
577デフォルトの名無しさん (スップ Sd8a-6rgV)
2018/03/13(火) 16:11:31.80ID:VrugGyEjd >>575
bit_per_char や shortでもintでもなく int8、uint16_t と明記したのは所与の仕様のつもり。
最近のapiはよくナノ秒返してくるから1000000000 倍
1000.0*1000*1000と分かち書きしたくなる
bit_per_char や shortでもintでもなく int8、uint16_t と明記したのは所与の仕様のつもり。
最近のapiはよくナノ秒返してくるから1000000000 倍
1000.0*1000*1000と分かち書きしたくなる
578デフォルトの名無しさん (ワッチョイ 6a8a-6CfZ)
2018/03/13(火) 16:29:39.63ID:cL/fN0Uj0 時刻を自動的に合わせますというコマンドボタンを作って
押すだけで済むのに
押すだけで済むのに
579デフォルトの名無しさん (ワッチョイ cb38-uQtz)
2018/03/13(火) 16:33:12.95ID:92t/zLSk0 >>577
それを言うなら1'000'000'000だろjk
それを言うなら1'000'000'000だろjk
580デフォルトの名無しさん (スッップ Sd8a-klMS)
2018/03/13(火) 18:34:24.26ID:5mSkIm9zd 86400って書くと、ideで定義の参照も使えんし
86400で検索したときに
1日の秒数なのか、適当に決めたタイムアウトとかの秒数なのか、ただのIDなのか、連番で出てきただけの数値なのかとか、無意味な数列なのかまざってわからんくなるやろ
86400で検索したときに
1日の秒数なのか、適当に決めたタイムアウトとかの秒数なのか、ただのIDなのか、連番で出てきただけの数値なのかとか、無意味な数列なのかまざってわからんくなるやろ
581デフォルトの名無しさん (ワッチョイ be81-uQtz)
2018/03/13(火) 18:56:33.51ID:U9FOV+VD0 #define SEC_PER_DAY (60*60*24)
なんてやる人いないのかな
なんてやる人いないのかな
>>581
#define は基本使わない、int const ABC = 12345; なら時々使う
#define は基本使わない、int const ABC = 12345; なら時々使う
583デフォルトの名無しさん (スップ Sd2a-fjrM)
2018/03/13(火) 19:52:43.56ID:0AXLQ0hnd constexpr……
584デフォルトの名無しさん (ワッチョイ e6e7-frl3)
2018/03/13(火) 20:19:53.55ID:My0TInc10 さっさとこう書けるようにしてくれ
今の<chrono>クソすぎんよ
int sec_par_day = static_cast<int>(std::chrono::second{std::chrono::day{{1}});
今の<chrono>クソすぎんよ
int sec_par_day = static_cast<int>(std::chrono::second{std::chrono::day{{1}});
585デフォルトの名無しさん (ワッチョイ da7e-uQtz)
2018/03/13(火) 20:25:30.79ID:pKedwP800 クソというか機能が圧倒的に足りてない
586デフォルトの名無しさん (ドコグロ MM22-3fsH)
2018/03/13(火) 20:28:38.82ID:/ChP+Vc3M 86400とか1440でわかるけど
24*60*60とか24*60って書けばいいだけだと思う
24*60*60とか24*60って書けばいいだけだと思う
587デフォルトの名無しさん (ワッチョイ e6e7-frl3)
2018/03/13(火) 20:30:42.63ID:My0TInc10 21世紀も5分の1が過ぎようかっていうこの時代に
何が悲しゅうてたかが時刻を扱うだけでtime_pointの他にtmやらtime_tやらをガチャガチャさせられにゃならんのだよまったく
何が悲しゅうてたかが時刻を扱うだけでtime_pointの他にtmやらtime_tやらをガチャガチャさせられにゃならんのだよまったく
588デフォルトの名無しさん (ブーイモ MM97-1XNJ)
2018/03/13(火) 22:01:42.63ID:vZM1ymmwM589デフォルトの名無しさん
2018/03/13(火) 22:08:40.50 86400って何のために使うんだろう
うるう日とかうるう秒とか考慮しなきゃ気持ち悪くね?
うるう日とかうるう秒とか考慮しなきゃ気持ち悪くね?
590デフォルトの名無しさん (ワッチョイ be81-uQtz)
2018/03/13(火) 22:17:29.51ID:U9FOV+VD0 予め考慮しようがない
591デフォルトの名無しさん (ワッチョイ da7e-uQtz)
2018/03/13(火) 22:22:44.39ID:pKedwP800 考慮する必要性があるものかどうかが分からないからなんとも
例えば時系列データをその時点から1日分の数を使うというものなら閏秒を考える必要がないし
例えば時系列データをその時点から1日分の数を使うというものなら閏秒を考える必要がないし
592デフォルトの名無しさん
2018/03/13(火) 22:28:43.21 >>591
1日に1秒満たないかもしれないだろ
1日に1秒満たないかもしれないだろ
593デフォルトの名無しさん (ワッチョイ 6a7c-uQtz)
2018/03/13(火) 22:35:46.84ID:2iGA+O2n0 int t = 86400; // 24*60*60
これで解決
これで解決
594デフォルトの名無しさん (スップ Sd8a-bl9z)
2018/03/13(火) 23:06:58.39ID:+Yto8Znfd 閏秒の有無等で可変のものなら可変のものなりの書き方するでしょ
計算して変数に入れるとか
問題は不変の数値定数をどう正規化して書くか、正規化する必要はあるか。
24*60*60 派の人と 60*60*24 派の人が両方プロジェクト内にいたらなんか嫌だな
計算して変数に入れるとか
問題は不変の数値定数をどう正規化して書くか、正規化する必要はあるか。
24*60*60 派の人と 60*60*24 派の人が両方プロジェクト内にいたらなんか嫌だな
595デフォルトの名無しさん (ワッチョイ be81-uQtz)
2018/03/13(火) 23:12:45.19ID:U9FOV+VD0 プロジェクトで誰かが決めたらそれに従うよ
派閥作るほどの問題じゃないでしょ
派閥作るほどの問題じゃないでしょ
596デフォルトの名無しさん (スップ Sd8a-bl9z)
2018/03/13(火) 23:17:41.96ID:+Yto8Znfd 絡むわけじゃないけど
決めたら従うのは当たり前で、それが「決める」ってことだろ。
派閥の話じゃなく混ざってたら気持ち悪いってことが言いたかったんだよ。
決めたら従うのは当たり前で、それが「決める」ってことだろ。
派閥の話じゃなく混ざってたら気持ち悪いってことが言いたかったんだよ。
597デフォルトの名無しさん (ワッチョイ da7e-uQtz)
2018/03/13(火) 23:20:55.63ID:pKedwP800 あっちこっちに書き散らすものじゃないから混ざってるとかあり得ない
1カ所になるまでリファクタリングしろ
1カ所になるまでリファクタリングしろ
598デフォルトの名無しさん (ワッチョイ be81-uQtz)
2018/03/13(火) 23:44:10.62ID:U9FOV+VD0 気持ち悪いと思うかどうかは感性の問題だからなあ
例えばある日地球の回転速度が変わって1分が61秒になった
プログラムを修正しろと言われて、
場所によって書き方が違っていると大変だね
と言う話なら理解出来るけど
例えばある日地球の回転速度が変わって1分が61秒になった
プログラムを修正しろと言われて、
場所によって書き方が違っていると大変だね
と言う話なら理解出来るけど
599デフォルトの名無しさん (ワッチョイ da7e-uQtz)
2018/03/13(火) 23:51:40.27ID:pKedwP800 constexpr int min = 60;
constexpr int hour = min * 60;
constexpr int day = hour * 24;
constexpr int hour = min * 60;
constexpr int day = hour * 24;
600デフォルトの名無しさん (ワッチョイ ea6e-uQtz)
2018/03/14(水) 06:39:53.70ID:4nqAllCK0 hoursは<chrono>にあるだろ
それとoperator""h
それとoperator""h
601デフォルトの名無しさん (ワッチョイ ea6e-uQtz)
2018/03/14(水) 06:41:16.16ID:4nqAllCK0 operator""dayがねえんだよな<chrono>って
602デフォルトの名無しさん (ワッチョイ da7e-uQtz)
2018/03/14(水) 07:36:00.34ID:eC4PF2tM0 chronoのhoursはstd::chrono::duration<int, std::ratio<3600>>のエイリアスなので
daysはこうすればよい
using days = std::chrono::duration<int, std::ratio<86400>>
daysはこうすればよい
using days = std::chrono::duration<int, std::ratio<86400>>
603デフォルトの名無しさん (ドコグロ MM22-3fsH)
2018/03/14(水) 08:15:03.73ID:ylQhqnt4M604デフォルトの名無しさん (ワッチョイ da7e-uQtz)
2018/03/14(水) 08:42:21.15ID:eC4PF2tM0 閏秒を考慮するのと1日を86400秒とするのは全く関係ないのに閏秒がどうとか言い出した奴が悪いのでは
丁寧に書くなら計算の根拠として60*60*24を見えるところに書いておけばいい
丁寧に書くなら計算の根拠として60*60*24を見えるところに書いておけばいい
605デフォルトの名無しさん (スッップ Sd8a-ted0)
2018/03/14(水) 09:17:22.64ID:MwJCRjiPd 知ってる知識を披露したかっただけだろうから罪は軽い
606デフォルトの名無しさん
2018/03/14(水) 10:28:48.31 >>604
全く関係ないは言い過ぎ
全く関係ないは言い過ぎ
607デフォルトの名無しさん (ワッチョイ 5b8a-4l6a)
2018/03/14(水) 10:52:42.70ID:a7dBFlsI0 ほぼ関係ないな、難癖もいいとこ
実用上は全く関係ない
実用上は全く関係ない
608デフォルトの名無しさん (ワッチョイ 260e-hn8E)
2018/03/14(水) 11:03:01.46ID:2oR7xNCJ0 うるう秒がどうのこうのと言う、問題じゃなく86400秒をそこでしか使わないって根拠が無いんだよね
後でまたその数値が出てくるとしてその度に86400と書くのか、もしその数値を修正する事になったら全部書き直すのか、2回3回使うようになって始めて変数なり定数なりに入れるのか
それなら最初から式中に出てくる数値は変数に格納してから使えって統一した方が話が早い
後でまたその数値が出てくるとしてその度に86400と書くのか、もしその数値を修正する事になったら全部書き直すのか、2回3回使うようになって始めて変数なり定数なりに入れるのか
それなら最初から式中に出てくる数値は変数に格納してから使えって統一した方が話が早い
609デフォルトの名無しさん (スプッッ Sd2a-ymMl)
2018/03/14(水) 11:14:21.74ID:G0IAn/x5d 今時マジックナンバーとか昭和からタイムスリップしてきたのかよ
610デフォルトの名無しさん (ワッチョイ 6a34-e70/)
2018/03/14(水) 11:43:33.36ID:xovkfTzX0 プログラムにおけるマジックナンバー(英: magic number、魔法の数字)とは、何らかの識別子もしくは定数として用いられる、プログラムのソースコード中に書かれた具体的な数値である。
そのプログラムを書いた時点では製作者は数値の意図を把握しているが、他のプログラマーまたは製作者本人がマジックナンバーの意図を忘れたときに閲覧すると「この数字の意味はわからないが、とにかくプログラムは正しく動く。
まるで魔法の数字だ」という皮肉を含む。
by Wikipedia
そのプログラムを書いた時点では製作者は数値の意図を把握しているが、他のプログラマーまたは製作者本人がマジックナンバーの意図を忘れたときに閲覧すると「この数字の意味はわからないが、とにかくプログラムは正しく動く。
まるで魔法の数字だ」という皮肉を含む。
by Wikipedia
611デフォルトの名無しさん (アウアウウー Sa1f-RjcS)
2018/03/14(水) 11:50:45.96ID:I+60yKfra 「1日の秒数」って定数を86400って書いて怒られたって話じゃないんだ?
612デフォルトの名無しさん (ワッチョイ cb74-uQtz)
2018/03/14(水) 12:06:59.05ID:L/3+Hz1H0613デフォルトの名無しさん (スッップ Sd8a-ted0)
2018/03/14(水) 13:01:38.98ID:MwJCRjiPd614デフォルトの名無しさん (ワッチョイ da7e-uQtz)
2018/03/14(水) 13:18:59.19ID:eC4PF2tM0 わかりきった定数はマジックナンバーではない
615デフォルトの名無しさん (スッップ Sd8a-klMS)
2018/03/14(水) 14:08:58.84ID:IrrOEbi1d >>613
それをヘッダに移動させるだけやん
それをヘッダに移動させるだけやん
616デフォルトの名無しさん (スッップ Sd8a-ted0)
2018/03/14(水) 14:14:27.78ID:MwJCRjiPd617デフォルトの名無しさん (ワッチョイ 260e-hn8E)
2018/03/14(水) 14:16:09.81ID:2oR7xNCJ0618デフォルトの名無しさん (スッップ Sd8a-klMS)
2018/03/14(水) 14:34:38.65ID:IrrOEbi1d >>616
クソどうでもいいな
クソどうでもいいな
619デフォルトの名無しさん (ラクッペ MM43-1XNJ)
2018/03/14(水) 15:05:38.89ID:hFOwW8jGM ITのエンジニアって
こういうくだらないことで
給料貰ってるんだろうなあ
こういうくだらないことで
給料貰ってるんだろうなあ
620デフォルトの名無しさん (ワッチョイ 6a34-e70/)
2018/03/14(水) 15:18:02.33ID:xovkfTzX0 こういうクソみたいなことでもウンチク垂れてテコ入れしろと提案することにより仕事してます感かもし出す為だろうな
621デフォルトの名無しさん (ワッチョイ cb74-uQtz)
2018/03/14(水) 15:45:56.81ID:L/3+Hz1H0622デフォルトの名無しさん (ワッチョイ fb7f-uQtz)
2018/03/14(水) 16:27:34.05ID:9D6+Eo6Z0 俺がわかるからみんなわかるだろうというコードはすげー困るな
例えその場の全員がわかったとしても今後わからない奴が出てきた時の事を考えて
できうるかぎりわかりやすいコードを書くべきだな
例えその場の全員がわかったとしても今後わからない奴が出てきた時の事を考えて
できうるかぎりわかりやすいコードを書くべきだな
623デフォルトの名無しさん (ワッチョイ cb74-uQtz)
2018/03/14(水) 17:02:40.84ID:L/3+Hz1H0 そのためのコストにもよる
空想論じみた「わかりやすさ」にまで付き合ってらんないこともある
特に最低限のプロとしてのスキルを欠く者を想定することはしない
ちょっと飛躍するがプログラム言語だってそうなっている
マシンの性能を使いやすさに振るということを無限にはやらない
どのくらいのアホまで付き合ってやるのか性能とのトレードオフで
色んなバランスで棲み分けになっている
空想論じみた「わかりやすさ」にまで付き合ってらんないこともある
特に最低限のプロとしてのスキルを欠く者を想定することはしない
ちょっと飛躍するがプログラム言語だってそうなっている
マシンの性能を使いやすさに振るということを無限にはやらない
どのくらいのアホまで付き合ってやるのか性能とのトレードオフで
色んなバランスで棲み分けになっている
624デフォルトの名無しさん (ワッチョイ 260e-hn8E)
2018/03/14(水) 17:03:50.56ID:2oR7xNCJ0 まぁ別に自分だけが使う分にはいくら分かりづらく書いてくれても構わんけどな
625デフォルトの名無しさん (ワッチョイ fb7f-uQtz)
2018/03/14(水) 17:11:14.36ID:9D6+Eo6Z0 86400を60*60*24と書くことにはなんのコストも支払ってないから書けばいいな
いちいち話を飛躍させる奴はなんなんだ
いちいち話を飛躍させる奴はなんなんだ
626デフォルトの名無しさん (アウアウウー Sa1f-RjcS)
2018/03/14(水) 17:20:37.67ID:I+60yKfra627デフォルトの名無しさん (ワッチョイ fb93-ao9L)
2018/03/14(水) 17:21:05.80ID:jowRUKsS0 学校の試験問題で一日の秒数としてソースに86400を書いたら
マジックナンバーだからと減点された、納得いかない。
みたいな発端じゃないのかなぁ。
マジックナンバーだからと減点された、納得いかない。
みたいな発端じゃないのかなぁ。
628デフォルトの名無しさん (ワッチョイ cb74-uQtz)
2018/03/14(水) 17:22:38.07ID:L/3+Hz1H0 それをfindとsedでやる勇気あるか?
たとえば俺なんかは1箇所ずつよく見て有機的に判断しないと怖いし
それの残業代は貰えるのか心配だ
たとえば俺なんかは1箇所ずつよく見て有機的に判断しないと怖いし
それの残業代は貰えるのか心配だ
629デフォルトの名無しさん (ワッチョイ fb7f-uQtz)
2018/03/14(水) 17:51:03.64ID:9D6+Eo6Z0 当然その程度のリファクタリングはするべきだしそもそもマジックナンバーをどうにかするべきだし
お前の残業代とかいう飛躍した話はどうでもいい
お前の残業代とかいう飛躍した話はどうでもいい
630デフォルトの名無しさん (ワッチョイ cb74-uQtz)
2018/03/14(水) 18:19:55.18ID:L/3+Hz1H0 飛躍じゃねえ実話だよ
ずいぶん昔、社内BBSでそれ系のことを言い出したやつが
偉い人から突っ込まれてた
ずいぶん昔、社内BBSでそれ系のことを言い出したやつが
偉い人から突っ込まれてた
631デフォルトの名無しさん (スッップ Sd8a-ted0)
2018/03/14(水) 18:35:58.25ID:MwJCRjiPd プロとか言い出してる人がいるけど、それこそ飛躍では?
632デフォルトの名無しさん (ワッチョイ be81-uQtz)
2018/03/14(水) 18:40:08.58ID:y6ADsCAy0 プログラムの話題から外れてきていると思いませんか?
633デフォルトの名無しさん (ドコグロ MM22-3fsH)
2018/03/14(水) 18:48:14.13ID:uMO7yRavM634デフォルトの名無しさん (ワッチョイ 260e-hn8E)
2018/03/14(水) 18:48:33.76ID:2oR7xNCJ0 まぁコスト次第で可読性を犠牲にするケースもあるだろうけど
この場合はメモリ食う訳でも処理遅くなる訳でもソースの構造が変わる訳でもない
86400でも十分分かりやすいかも知れんが60*60*24なら更に分かりやすくなる
どっちが良いかなんて議論の余地無いよね
この場合はメモリ食う訳でも処理遅くなる訳でもソースの構造が変わる訳でもない
86400でも十分分かりやすいかも知れんが60*60*24なら更に分かりやすくなる
どっちが良いかなんて議論の余地無いよね
635デフォルトの名無しさん (ワッチョイ cb74-uQtz)
2018/03/14(水) 18:50:15.11ID:L/3+Hz1H0636デフォルトの名無しさん (ドコグロ MM22-3fsH)
2018/03/14(水) 18:54:56.26ID:uMO7yRavM >>626
> 16を2*2*2*2っていちいち書く人はいないでしょ
> まぁ1<<4って書けと言われるかもしれんが
状況次第だろ
場合分けの条件が4個あって各々2状態をとるとかなら2*2*2*2って書くかもしれない
下から4ビット目のマスクが欲しいなら1<<4って書くこともある
> 16を2*2*2*2っていちいち書く人はいないでしょ
> まぁ1<<4って書けと言われるかもしれんが
状況次第だろ
場合分けの条件が4個あって各々2状態をとるとかなら2*2*2*2って書くかもしれない
下から4ビット目のマスクが欲しいなら1<<4って書くこともある
637デフォルトの名無しさん (ワッチョイ 260e-hn8E)
2018/03/14(水) 18:58:33.90ID:2oR7xNCJ0 >>636
ビットフィールド使えば?
ビットフィールド使えば?
638デフォルトの名無しさん (ワッチョイ cb74-uQtz)
2018/03/14(水) 19:09:24.20ID:L/3+Hz1H0 シフト使うな、ビットフィールドで書け
なんて言われると、俺は相手にもよるが逆らいそう
なんて言われると、俺は相手にもよるが逆らいそう
639デフォルトの名無しさん (ドコグロ MM22-3fsH)
2018/03/14(水) 19:37:46.29ID:uMO7yRavM >>637
ビットフィールドは割り付け順序が処理系定義だったりしたからあまり使ったことがない
ビットフィールドは割り付け順序が処理系定義だったりしたからあまり使ったことがない
640デフォルトの名無しさん (ブーイモ MMd6-dpuX)
2018/03/14(水) 21:26:40.49ID:kWAHqA+uM たまには2進リテラルちゃんのことも思い出してあげてください
641デフォルトの名無しさん (ワッチョイ c193-y/L7)
2018/03/15(木) 06:36:14.64ID:F+InEeO+0 議論の本筋(1日の秒数として即値で86400と書くことの是非)とはさらに離れるけど、
ビットシフトを使う定数は常にカッコで囲んでくれ。
res = a + 1<<4 + b;
res = a +(1<<4)+ b;
ビットシフトを使う定数は常にカッコで囲んでくれ。
res = a + 1<<4 + b;
res = a +(1<<4)+ b;
642デフォルトの名無しさん
2018/03/15(木) 07:15:43.22643デフォルトの名無しさん (ワッチョイ dfe3-MOYc)
2018/03/15(木) 08:58:15.76ID:x1WHRaDf0 >>641
下のつもりで上書いたらただのバグじゃん
下のつもりで上書いたらただのバグじゃん
644デフォルトの名無しさん (ワッチョイ a3dd-hKdO)
2018/03/15(木) 09:19:10.68ID:3Ym40JOm0 算術と混用するときは結合順位に注意せよ、というだけのことを
いちいち必ずだ!ルールだ!と金切り声で吠えついてくるやつはウザい
いちいち必ずだ!ルールだ!と金切り声で吠えついてくるやつはウザい
645デフォルトの名無しさん (ブーイモ MM61-R9c4)
2018/03/15(木) 09:55:31.41ID:LkpAylTJM >>642
可読性悪くしてかえって品質低下招きそうな指摘だな
可読性悪くしてかえって品質低下招きそうな指摘だな
646デフォルトの名無しさん (ワッチョイ 87cc-SCBH)
2018/03/15(木) 13:29:47.33ID:O2sRH7tT0 vectorをつなげる際、copyが良いとか、insertを使えとか色々書いてあるのですが、どれが良いのでしょうか?
647デフォルトの名無しさん (ワッチョイ af7e-hKdO)
2018/03/15(木) 13:54:37.80ID:XNo6/02A0 あらかじめ領域を広げておく必要があるけどinsertの方がチェックが入らない分速い
648デフォルトの名無しさん (ワッチョイ 7b34-HLM0)
2018/03/15(木) 15:23:48.90ID:9f/t5+6G0 reserveしてinsertだな
649デフォルトの名無しさん (アウアウウー Sa9d-mp3k)
2018/03/15(木) 15:36:42.69ID:q9z+dA6Ga insertの直前にreserveって意味あるのか?
650デフォルトの名無しさん (ワッチョイ af7e-hKdO)
2018/03/15(木) 16:32:16.09ID:XNo6/02A0 reserveは終端のポインタが更新されないからresizeじゃないとだめ
651デフォルトの名無しさん (ワッチョイ 7b34-HLM0)
2018/03/15(木) 16:57:46.96ID:R5/WYUtW0 reserveしてback_inserterでcopy
652デフォルトの名無しさん (ワッチョイ 7bcb-R9c4)
2018/03/15(木) 17:05:27.14ID:QEAEy0DH0653デフォルトの名無しさん (ワッチョイ 7bcb-R9c4)
2018/03/15(木) 17:09:09.32ID:QEAEy0DH0654デフォルトの名無しさん (ワッチョイ af7e-hKdO)
2018/03/15(木) 17:21:30.23ID:XNo6/02A0 ごめんinsertとcopy逆だった
655デフォルトの名無しさん (アウアウウー Sa9d-mp3k)
2018/03/15(木) 17:28:15.72ID:q9z+dA6Ga656デフォルトの名無しさん (ワッチョイ 7bcb-R9c4)
2018/03/15(木) 19:10:49.64ID:QEAEy0DH0 >>655
失礼。挿入位置のiteratorもあるから、3つ受け取るタイプの誤り。
失礼。挿入位置のiteratorもあるから、3つ受け取るタイプの誤り。
657デフォルトの名無しさん (アウアウウー Saaf-0FUd)
2018/03/15(木) 22:07:51.82ID:dQGk6ayHa cpprefjpの任意の式によるSFINAEの頁でdecltype(a + b, bool())と記載されているコードがあるんだけれど、
このa+b, bool()はラムダ式?
該当頁
https://cpprefjp.github.io/lang/cpp11/range_based_for.html
このa+b, bool()はラムダ式?
該当頁
https://cpprefjp.github.io/lang/cpp11/range_based_for.html
658デフォルトの名無しさん (アウアウウー Saaf-0FUd)
2018/03/15(木) 22:09:23.09ID:dQGk6ayHa659デフォルトの名無しさん (ワッチョイ a3dd-hKdO)
2018/03/15(木) 22:15:55.91ID:3Ym40JOm0 ラムダ式が[で始まらないことってあるのか?
660デフォルトの名無しさん (ワッチョイ 9beb-85/6)
2018/03/15(木) 22:41:44.53ID:ubsUN4Yb0 >>657
カンマ演算子とdecltypeでコンパイル時に評価される
decltypeの中身を左から順に評価し、結果は一番右の型が帰る
この場合はa+bの型が評価出来ればbool、できなければSFINAE
カンマ演算子とdecltypeでコンパイル時に評価される
decltypeの中身を左から順に評価し、結果は一番右の型が帰る
この場合はa+bの型が評価出来ればbool、できなければSFINAE
661デフォルトの名無しさん (ワッチョイ af7e-hKdO)
2018/03/15(木) 22:41:47.80ID:XNo6/02A0 >>657
>a + b
a + bが可能かどうか調べる
>,
次の式を評価する
>bool()
bool型の初期値を返す
つまりdecltype(a + b, bool())はa + bでSFINAEをしつつカンマ演算子でdecltypeにbool型の値を与えて返り値の型をbool型にしている
>a + b
a + bが可能かどうか調べる
>,
次の式を評価する
>bool()
bool型の初期値を返す
つまりdecltype(a + b, bool())はa + bでSFINAEをしつつカンマ演算子でdecltypeにbool型の値を与えて返り値の型をbool型にしている
662デフォルトの名無しさん (アウアウウー Saaf-0FUd)
2018/03/15(木) 22:57:18.20ID:dQGk6ayHa decltypeで,も使えたんですね。一番右の型が帰るということはdecltype(a+b,a-b,a*b,a/b,bool())とかしてもよさそう。。。
自分ではその機能を説明してるページを見つけれませんでした。
ありがとうございます。
自分ではその機能を説明してるページを見つけれませんでした。
ありがとうございます。
663はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 3b6f-hKdO)
2018/03/15(木) 23:50:51.42ID:VBbQqJBt0664デフォルトの名無しさん (スップ Sddb-dtcO)
2018/03/16(金) 07:54:12.89ID:UGENGinrd decltypeって実行時の型を得れる?
665デフォルトの名無しさん (アウアウウー Sa9d-mp3k)
2018/03/16(金) 09:23:42.20ID:Qbg0TjKpa >>656
a.reserve(a.size()+b.size());
a.insert(a.end(),b.begin(),b.end());
こんな感じのことをやるのかと思ったんだけど、これ意味ないでしょ?
a.reserve(a.size()+b.size());
a.insert(a.end(),b.begin(),b.end());
こんな感じのことをやるのかと思ったんだけど、これ意味ないでしょ?
666デフォルトの名無しさん (スッップ Sd2f-JcB1)
2018/03/16(金) 10:04:08.28ID:SYp9l/ZId >>664
declとはdeclareの略であることを考えると
declとはdeclareの略であることを考えると
667デフォルトの名無しさん (ワッチョイ 7b34-HLM0)
2018/03/16(金) 10:17:31.56ID:g2YO+i2m0 a.reserve(a.size()+b.size());
copy(b.begin(),b.end(),back_inserter(a));
copy(b.begin(),b.end(),back_inserter(a));
668デフォルトの名無しさん (ブーイモ MM3f-R9c4)
2018/03/16(金) 15:36:10.69ID:0r9PteXTM >>665
random iteratorの場合の特殊化実装がありました。ごめんなさい
random iteratorの場合の特殊化実装がありました。ごめんなさい
669デフォルトの名無しさん (ササクッテロレ Sp6f-N9vq)
2018/03/16(金) 18:08:23.55ID:Al45BtF0p >>662
decltype comma trickでググれ
decltype comma trickでググれ
670デフォルトの名無しさん (ワッチョイ f3e7-dVgQ)
2018/03/16(金) 20:56:30.80ID:DBylbaSH0 まあoperator,()が定義されてるとまずいんだけどな
671デフォルトの名無しさん (アウアウアー Sa83-2N1f)
2018/03/19(月) 18:07:03.75ID:/U1oheuNa インスタンスにdeleteかけたとき、メンバ変数が破壊されるのとデストラクタが実行されるのはどっちが先?
今書いてるコードがデストラクタでメンバ変数アクセスすると落ちることがあるから、破壊されるのが先なんだろうか?
今書いてるコードがデストラクタでメンバ変数アクセスすると落ちることがあるから、破壊されるのが先なんだろうか?
672はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 3b6f-hKdO)
2018/03/19(月) 18:15:15.06ID:RG1qd9Pc0 >>671
原則としては構築の逆順って覚えておくと間違えない。
原則としては構築の逆順って覚えておくと間違えない。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★3 [少考さん★]
- 日本、G7への中国招待を懸念 議長国フランスに慎重な対応要請 [どどん★]
- 【サッカー】日本代表、FIFAランキング“4位”の強豪イングランドとの対戦が正式決定! 来年3月に聖地ウェンブリーで激突へ [久太郎★]
- 千晴におちんちん舐めてもらいたい♥
- ✋🏿( ・᷄ὢ・᷅ )どうも、VIPの堕天使ベルゼブブです
- 日本政府さん、中国が開示した音声データに対して捏造であるとなぜか主張しない!それなのにネトウヨは捏造捏造と連呼する模様 [472617201]
- 姉は貧乳で妹は巨乳ってパターンよくあるよな
- 【悲報】ジャップ、日中戦争に賛成が5割弱...軍歌の音が聞こえる... [856698234]
- ひまだねー
