次スレを立てる時は本文の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:mJKRg6iz0511デフォルトの名無しさん
2018/03/10(土) 19:24:15.74 char y[4] = { 0x12, 0x34, 0x56, 0x78 };
unsignd in x = 0x12345678;
これを等価にしたいという意味だろうから。
unsignd in x = 0x12345678;
これを等価にしたいという意味だろうから。
512デフォルトの名無しさん (ワッチョイ fb93-Ni5c)
2018/03/10(土) 21:52:35.38ID:My21AM/A0 独習c++終わりそうなんだが次によむべき本とかある?
>>512
https://mevius.5ch.net/test/read.cgi/tech/1493844476/312
あと STL の教科書、これもC++11以前のもの
https://www.amazon.co.jp/dp/4881357786/
https://mevius.5ch.net/test/read.cgi/tech/1493844476/312
あと STL の教科書、これもC++11以前のもの
https://www.amazon.co.jp/dp/4881357786/
514デフォルトの名無しさん (ワッチョイ 8af9-G5w4)
2018/03/10(土) 22:09:22.02ID:Tk41qGXE0 本ばかり読まず実践しよう
515デフォルトの名無しさん (ワッチョイ da7e-uQtz)
2018/03/10(土) 22:09:43.95ID:lWictyCS0 >>512
cpprefjp
cpprefjp
516デフォルトの名無しさん (ワッチョイ 260e-hn8E)
2018/03/10(土) 22:28:49.18ID:tBgkA+tH0 プログラミング言語C++とかどうやろ
517デフォルトの名無しさん (ワッチョイ fb93-Ni5c)
2018/03/10(土) 22:50:35.99ID:My21AM/A0 ありがとうございます
ひとまず>>513の本にしてみます
ひとまず>>513の本にしてみます
518デフォルトの名無しさん (ワッチョイ da7e-uQtz)
2018/03/11(日) 00:41:56.08ID:6KlfnVLZ0 そういえば最新版のEffective STLみたいな本って無いのか?
519デフォルトの名無しさん (ワッチョイ 6a34-e70/)
2018/03/11(日) 00:53:03.16ID:Bd/2u4u/0 あると思うが訳者がへたくそで右辺値左辺値あたり意味ワカランかったぞ
520デフォルトの名無しさん (ワッチョイ 6a34-e70/)
2018/03/11(日) 00:57:27.74ID:Bd/2u4u/0 その辺りの参考にするなら下手な日本語文献探るよりか英文そのまま読んだ方がいい希ガス
なんでもかんでも日本語訳してあるとほんと意味ワカランから
なんでもかんでも日本語訳してあるとほんと意味ワカランから
521デフォルトの名無しさん (ワッチョイ 7323-Ik1A)
2018/03/11(日) 01:11:03.65ID:n48SUKtd0 cpprefjpのstd::min_elementとstd::max_elementの例文が間違ってるので誰か直してください。
自分はGitHubのアカウント持ってないので編集できません。
https://cpprefjp.github.io/reference/algorithm/min_element.html
https://cpprefjp.github.io/reference/algorithm/max_element.html
誤:return a > b;
正:return a < b;
自分はGitHubのアカウント持ってないので編集できません。
https://cpprefjp.github.io/reference/algorithm/min_element.html
https://cpprefjp.github.io/reference/algorithm/max_element.html
誤:return a > b;
正:return a < b;
522デフォルトの名無しさん (ワッチョイ 0b9f-uQtz)
2018/03/11(日) 01:22:57.30ID:ry5KQfC80 unsigned int x;
char y[4];
.
.
.
x = ((y[0] & 0xff) << 24) | ((y[1] & 0xff) << 16) | ((y[2] & 0xff) << 8) | (y[3] & 0xff);
char y[4];
.
.
.
x = ((y[0] & 0xff) << 24) | ((y[1] & 0xff) << 16) | ((y[2] & 0xff) << 8) | (y[3] & 0xff);
523デフォルトの名無しさん (ワッチョイ 6a80-csLy)
2018/03/11(日) 01:34:50.04ID:P1lOCLpn0 Scott Meyers
Effective C++ 第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTI)、2014
Effective Modern C++ ―C++11/14プログラムを進化させる42項目、2015
Effective C++ は、昔の本のリバイバルかな?
内容が新しいかどうかまでは、分からないけど
Effective C++ 第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTI)、2014
Effective Modern C++ ―C++11/14プログラムを進化させる42項目、2015
Effective C++ は、昔の本のリバイバルかな?
内容が新しいかどうかまでは、分からないけど
524デフォルトの名無しさん (スップ Sd2a-A/UC)
2018/03/11(日) 08:34:37.66ID:XWEx9Mlwd テンプレートを使ったメタプログラムの有用性が分からん。コンパイル時処理で定数の階乗を計算してるけど実行時に値を変えれないなら、答えをベタ書きすればいいだけでは?
525デフォルトの名無しさん (アウアウカー Sa7b-7AdS)
2018/03/11(日) 08:43:14.65ID:zMqNV6vza その値をベタ書きする手間をコンパイラにまかせることが出来るのが利点だと思うよ。
526デフォルトの名無しさん (スップ Sd2a-A/UC)
2018/03/11(日) 08:48:18.87ID:XWEx9Mlwd 3の階乗を、tmpするより6とタイプした方が早いだろ
527デフォルトの名無しさん (ワッチョイ da7e-uQtz)
2018/03/11(日) 09:03:15.99ID:6KlfnVLZ0 >>526
3ならいいけど10の階乗は?15の階乗は?21の階乗は?
それは整数型で表現できるか?
それは何桁になるのか?
適切な型をどうやって選ぶのか?
その値を静的な配列のサイズにしたいが数値を変えるたびに電卓で計算はしたくない
ならばfactorial<N>::valueと表現できれば便利ではないか
ということ
3ならいいけど10の階乗は?15の階乗は?21の階乗は?
それは整数型で表現できるか?
それは何桁になるのか?
適切な型をどうやって選ぶのか?
その値を静的な配列のサイズにしたいが数値を変えるたびに電卓で計算はしたくない
ならばfactorial<N>::valueと表現できれば便利ではないか
ということ
528デフォルトの名無しさん (ワッチョイ fb7f-uQtz)
2018/03/11(日) 09:03:17.33ID:0BygLdlM0 その3という数値が別のファイルの特定の値に依存してる場合もあるし
529デフォルトの名無しさん (ワッチョイ da7e-uQtz)
2018/03/11(日) 09:08:13.99ID:6KlfnVLZ0 意地悪するのはこの辺にしておいて
それはメタプログラミングでこいういうこともできるよ程度のものにすぎない
テンプレートメタプログラミングとはテンプレートを使ってソースコードを生成することだ
ソースコードを作るためのプログラミングだと思ってくれてかまわない
一般的な目的としてはジェネリックプログラミングを実現するために使われる
標準ライブラリではvectorからchoronoやtupleまでテンプレートメタプログラミングありきの設計になっている
それはメタプログラミングでこいういうこともできるよ程度のものにすぎない
テンプレートメタプログラミングとはテンプレートを使ってソースコードを生成することだ
ソースコードを作るためのプログラミングだと思ってくれてかまわない
一般的な目的としてはジェネリックプログラミングを実現するために使われる
標準ライブラリではvectorからchoronoやtupleまでテンプレートメタプログラミングありきの設計になっている
530デフォルトの名無しさん (アウアウカー Sa7b-7AdS)
2018/03/11(日) 09:08:56.54ID:zMqNV6vza 値が小さいうちはそうかもしれんが16の階乗とか値が大きくなってもベタ書きが良い?
ちなみにconstexprが使えるc++11以降の話と考えてOK?
ちなみにconstexprが使えるc++11以降の話と考えてOK?
531デフォルトの名無しさん (ワッチョイ e6e7-frl3)
2018/03/11(日) 10:19:34.71ID:i1Cv6XBY0 階乗の例はいい例とは言えんな
TMPで操作したいのはメインは型の方だからな
値も出来るよって例が階乗なだけで
TMPで操作したいのはメインは型の方だからな
値も出来るよって例が階乗なだけで
532デフォルトの名無しさん (ワッチョイ 6ab3-3fsH)
2018/03/11(日) 10:40:47.13ID:z1FVyjSJ0533デフォルトの名無しさん (アウアウカー Sa7b-7AdS)
2018/03/11(日) 10:50:57.85ID:zMqNV6vza そんな貴方にtemplate+constexpr(c++14以降)
534デフォルトの名無しさん (ワッチョイ da7e-uQtz)
2018/03/11(日) 10:58:38.38ID:6KlfnVLZ0 >>532
頑張って古代人用のコンパイラ作ってくれ
頑張って古代人用のコンパイラ作ってくれ
535デフォルトの名無しさん (ワッチョイ 6ab3-3fsH)
2018/03/11(日) 11:03:02.47ID:z1FVyjSJ0536デフォルトの名無しさん (ワッチョイ da7e-uQtz)
2018/03/11(日) 11:13:25.26ID:6KlfnVLZ0 >>535
現代の言語でジェネリクスをサポートするのは一般的
テンプレートをこねくり回して整数演算をするのはおかしいという意味なら、普通の構文で書けるconstexprが追加されたからそっちを使うように
現代の言語でジェネリクスをサポートするのは一般的
テンプレートをこねくり回して整数演算をするのはおかしいという意味なら、普通の構文で書けるconstexprが追加されたからそっちを使うように
537デフォルトの名無しさん (ワッチョイ 4abd-RZSe)
2018/03/11(日) 11:58:27.43ID:TvwI/h8S0 テンプレートで再帰ができたらナア…('A`)
538デフォルトの名無しさん (ワッチョイ 4abd-RZSe)
2018/03/11(日) 12:00:06.04ID:TvwI/h8S0 とわいいつつ、実はC++のテンプレートはチューリング完全になってしまっていた(らしい
ttps://cpplover.blogspot.jp/2013/10/blog-post_20.html
ttps://cpplover.blogspot.jp/2013/10/blog-post_20.html
539デフォルトの名無しさん (ドコグロ MM8a-3fsH)
2018/03/11(日) 12:05:49.26ID:93lmuZEGM >>536
costexprで階乗書いてみてから言えよ
costexprで階乗書いてみてから言えよ
540デフォルトの名無しさん (ワッチョイ e6e7-frl3)
2018/03/11(日) 16:36:05.55ID:i1Cv6XBY0 constexpr unsigned long long factorial(int n){
unsigned long long r=1;
for(int i=1;i<=n;++i){r*=i;}
return r;
}
うん、簡単だね!
unsigned long long r=1;
for(int i=1;i<=n;++i){r*=i;}
return r;
}
うん、簡単だね!
541デフォルトの名無しさん (ワッチョイ 6a34-e70/)
2018/03/11(日) 16:41:07.00ID:Bd/2u4u/0 毎回毎回コンパイラが計算するのか
542デフォルトの名無しさん (ワッチョイ 4acb-dpuX)
2018/03/11(日) 17:05:53.05ID:6zDmjp+70 たまにソースコードを見て、あ、この数字なんだっけって考えるよりも
10000回コンパイルさせるほうが早いと思うよ
10000回コンパイルさせるほうが早いと思うよ
543デフォルトの名無しさん (ワッチョイ 7e32-uQtz)
2018/03/11(日) 17:18:40.81ID:Dtt3qpb50 マジックナンバーの本質
544片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd8a-f9jl)
2018/03/11(日) 17:51:32.86ID:4ez4tjCrd >>540
オーバーフローのチェックがないからやり直し。
オーバーフローのチェックがないからやり直し。
545デフォルトの名無しさん (ワッチョイ e6e7-frl3)
2018/03/11(日) 18:36:06.03ID:i1Cv6XBY0 はーい
constexpr unsigned long long unsafe_factorial(int n){
unsigned long long r=1;
for(int i=1;i<=n;++i){r*=i;}
return r;
}
constexpr int min_factorialable(){
for(int i=1;;++i){
if(unsafe_factorial(i) > unsafe_factorial(i+1)){ return i; }
}
}
constexpr unsigned long long factorial(int n){
if (n < 0 || n > min_factorialable()) { return 0; }
return unsafe_factorial(n);
}
constexpr unsigned long long unsafe_factorial(int n){
unsigned long long r=1;
for(int i=1;i<=n;++i){r*=i;}
return r;
}
constexpr int min_factorialable(){
for(int i=1;;++i){
if(unsafe_factorial(i) > unsafe_factorial(i+1)){ return i; }
}
}
constexpr unsigned long long factorial(int n){
if (n < 0 || n > min_factorialable()) { return 0; }
return unsafe_factorial(n);
}
546デフォルトの名無しさん (ワッチョイ 2fe3-uQtz)
2018/03/11(日) 18:40:21.07ID:i3q5YI3y0 コンパイルエラーになるほうがいいなぁ
547片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd8a-f9jl)
2018/03/11(日) 19:45:19.23ID:4ez4tjCrd static_assert使え。
548デフォルトの名無しさん (スップ Sd2a-A/UC)
2018/03/11(日) 20:16:22.23ID:XWEx9Mlwd >>529
実行時計算で答え算出してそれを貼った方が楽じゃね?
実行時計算で答え算出してそれを貼った方が楽じゃね?
549デフォルトの名無しさん (ワッチョイ 8af9-G5w4)
2018/03/11(日) 21:15:39.44ID:ezoYy+fr0 >>548
それで事足りるケースならそれでいいよ
それで事足りるケースならそれでいいよ
550デフォルトの名無しさん (ワッチョイ fb7f-uQtz)
2018/03/11(日) 21:19:50.46ID:0BygLdlM0 >>548
なんでそんなめんどくさくてミスしそうな方法をチョイスするんだよ
なんでそんなめんどくさくてミスしそうな方法をチョイスするんだよ
551デフォルトの名無しさん
2018/03/12(月) 01:21:50.18 >>548
計算&書き換え手順をマニュアル化して、何十種類の仕向け別にバージョンアップの度に人海戦術で計算&書き換え&コードレビュー&テストするんですね、わかります
計算&書き換え手順をマニュアル化して、何十種類の仕向け別にバージョンアップの度に人海戦術で計算&書き換え&コードレビュー&テストするんですね、わかります
552デフォルトの名無しさん (ワッチョイ fb93-ao9L)
2018/03/12(月) 05:00:24.40ID:kBVT8YZa0 min_factorialable() は、階乗を正しく計算できる最大の値を返す
constexprな関数(コンパイル時にint定数に置き換えられることを期待)、
と読み取ったんだけど、なぜにmin_なの?
constexprな関数(コンパイル時にint定数に置き換えられることを期待)、
と読み取ったんだけど、なぜにmin_なの?
553デフォルトの名無しさん
2018/03/12(月) 05:41:37.75 上限を求めるときに使うのはminだから、かな
知らんけど
知らんけど
554デフォルトの名無しさん (ワッチョイ e6e7-frl3)
2018/03/12(月) 06:20:08.42ID:I9Is/5l40 最初min_nonfactorialableでnon取った時に直し忘れました
555デフォルトの名無しさん (スッップ Sd8a-ted0)
2018/03/13(火) 09:59:46.06ID:CGjn2uNbd 一日の秒数を86400と書いてたらマジックナンバーやめろと言われたんだけど、
プログラムを少しでも書く人間にとってその数字は常識でいいよね?
60*60*24 と書いて「その60とか24は何だ?」と言われないでしょ?
それと同じレベルだと思ってるんだけど。
プログラムを少しでも書く人間にとってその数字は常識でいいよね?
60*60*24 と書いて「その60とか24は何だ?」と言われないでしょ?
それと同じレベルだと思ってるんだけど。
556デフォルトの名無しさん (ワッチョイ ea12-OyD+)
2018/03/13(火) 10:10:13.70ID:oQx4WixC0 うるう秒でクラッシュするクソソフトウェアの出来あがり
ニュートン力学と天文学と暦学からやりなおした方がいい
ニュートン力学と天文学と暦学からやりなおした方がいい
557デフォルトの名無しさん (スプッッ Sd2a-ymMl)
2018/03/13(火) 10:13:40.69ID:bAh/W6qqd558デフォルトの名無しさん (ワッチョイ da7e-uQtz)
2018/03/13(火) 10:38:37.74ID:pKedwP800 そろそろ標準に日付計算のライブラリ欲しいわ
559デフォルトの名無しさん (ワッチョイ cb38-uQtz)
2018/03/13(火) 11:02:13.56ID:92t/zLSk0560デフォルトの名無しさん (スッップ Sd8a-ted0)
2018/03/13(火) 11:32:32.41ID:CGjn2uNbd561デフォルトの名無しさん (スッップ Sd8a-ted0)
2018/03/13(火) 11:37:27.38ID:CGjn2uNbd >>557
86400がプログラマの常識的にマジックナンバーなのかどうか、って話ですよ
86400がプログラマの常識的にマジックナンバーなのかどうか、って話ですよ
562デフォルトの名無しさん (ワッチョイ 6a8a-aWcx)
2018/03/13(火) 11:45:44.57ID:cL/fN0Uj0 所で皆さんmakefileはどう編集してます
あまり触れていないようなので気になります
あまり触れていないようなので気になります
563デフォルトの名無しさん (ワッチョイ cb38-rkOG)
2018/03/13(火) 11:45:51.13ID:92t/zLSk0 2147483647なら俺の常識だが
564デフォルトの名無しさん (ワッチョイ 2a98-Nvj+)
2018/03/13(火) 11:47:54.17ID:Hyr8QuVd0565デフォルトの名無しさん (ワッチョイ 260e-hn8E)
2018/03/13(火) 12:00:55.79ID:qHQADaBY0 他人と共有するコードならなるべく要素を分解して分かりやすく書いた方が好ましい
2の倍数も直接記述するのではなくシフト演算使った方が綺麗
2の倍数も直接記述するのではなくシフト演算使った方が綺麗
566デフォルトの名無しさん (ワッチョイ 6a23-6rgV)
2018/03/13(火) 12:18:10.82ID:23dHbGxb0 くくるんじゃなくて…
クラス宣言
int main()
{....}
あとは c++ スレで
クラス宣言
int main()
{....}
あとは c++ スレで
567デフォルトの名無しさん (ワッチョイ 6a23-6rgV)
2018/03/13(火) 12:18:34.80ID:23dHbGxb0 誤爆しました
568デフォルトの名無しさん (スプッッ Sd43-8RCb)
2018/03/13(火) 12:51:25.09ID:YF2y/th/d 常識なんて集団が変われば変わる
そのコードを見せる事を想定した集団の常識かどうかを考えろ
そのコードを見せる事を想定した集団の常識かどうかを考えろ
569デフォルトの名無しさん (ワッチョイ 6a8a-6CfZ)
2018/03/13(火) 14:10:31.07ID:cL/fN0Uj0 2進数8進数10進数16進数のみではないということ
60進数や24進数の話でしょ時計を語るときは必須の常識
60進数や24進数の話でしょ時計を語るときは必須の常識
570デフォルトの名無しさん (ワッチョイ 6a8a-6CfZ)
2018/03/13(火) 14:26:54.36ID:cL/fN0Uj0 これをn進数って言うんだよ
571デフォルトの名無しさん (スッップ Sd8a-ted0)
2018/03/13(火) 14:37:04.66ID:CGjn2uNbd 集団の常識ってことなら、'86400' をマジックナンバーと思ってる人間は少数派っぽいので、
文句はやんわりと無視する方向で行きますわ
文句はやんわりと無視する方向で行きますわ
572デフォルトの名無しさん (ワッチョイ 260e-hn8E)
2018/03/13(火) 14:53:30.50ID:qHQADaBY0 というかマジックナンバー言われるのって数字の意味とか集団の常識とかじゃなく書式の問題だよね
計算式の中に定数ポン置きしてる書き方してる奴がチームにいたらそりゃマズいよ、変数とか定数に置き換えろって俺も言う
計算式の中に定数ポン置きしてる書き方してる奴がチームにいたらそりゃマズいよ、変数とか定数に置き換えろって俺も言う
573デフォルトの名無しさん (ワッチョイ 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って書いて怒られたって話じゃないんだ?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- テレ朝本社から社外スタッフの男性が転落し死亡 テレビ朝日がコメント [ひかり★]
- 【米FRB】0.25%利下げ決定 3会合連続、雇用下支え [蚤の市★]
- <櫻坂46松田里奈>ランジェリーカット公開 照れながらTシャツ脱ぐ [ひかり★]
- 訪米認証「ESTA」、SNS利用情報の提出義務化へ 日本人観光客も対象に [蚤の市★]
- 「身を切る改革」どこへ? 維新「身内」への公金支出、地方でも続々 [蚤の市★]
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- 【画像】東京都民「助けて!満員電車もう無理いいぃぃいいぃぃぃいいいいいぃ😭」!!!! [732289945]
- お前らって議論できないよな
- 一般人「起きなきゃ…」 俺ら「寝ようかなzzz」
- 【画像】そこらへん歩いてる地味な女も夜になったらみんな絶叫セックスをしている現実
- 高橋洋一、終わる [523957489]
- 🏡ダブパン本仕込み~🍞🍞😅🍞🍞🏡
