前スレ
C++相談室 part157
https://mevius.5ch.net/test/read.cgi/tech/1628474251/
探検
C++相談室 part158
■ このスレッドは過去ログ倉庫に格納されています
2021/11/15(月) 18:49:18.44ID:I69rZ/Of
101デフォルトの名無しさん
2021/11/22(月) 12:07:40.30ID:axkd8Lua おどろき最小の法則と言えば
https://onihusube.hatenaぶろぐ.com/entry/2020/04/03/211442
https://onihusube.hatenaぶろぐ.com/entry/2020/04/03/211442
102デフォルトの名無しさん
2021/11/22(月) 12:12:11.62ID:buYIHjVZ 人を下に見られる程精通してる人って正直羨ましいわ
知れば知るほどまだまだ知らない事が沢山あるなぁと勉強不足を実感してしまう
↓
知らないから人をバカに出来るんだよなー
↑
むしろ人を下にみないと精神状態が不安定なんでしょ
知れば知るほどまだまだ知らない事が沢山あるなぁと勉強不足を実感してしまう
↓
知らないから人をバカに出来るんだよなー
↑
むしろ人を下にみないと精神状態が不安定なんでしょ
103デフォルトの名無しさん
2021/11/22(月) 12:23:22.14ID:NpEcC+CD ダニングクルーガーね
104デフォルトの名無しさん
2021/11/22(月) 13:29:19.96ID:SX8MGonp Windows App SDK入れてみたがエラーが多くまだ使えない
105デフォルトの名無しさん
2021/11/22(月) 19:04:02.58ID:aHjY0LXr ヘッダファイルで変数の宣言するとき、引数付きのコンストラクタ使おうとするとコンパイルエラー出るんですけどこの書き方って良くないんですか?
106ハノン ◆QZaw55cn4c
2021/11/22(月) 19:08:25.29ID:f9+TjGGq107デフォルトの名無しさん
2021/11/22(月) 20:43:52.70ID:aHjY0LXr >>106
// NG ヘッダにそのまま書こうとすると型指定子が必要ですとエラーが出る
private:
MenberLibClasse obj ("piyopiyo");
// OK ヘッダには引数なしで宣言した後、cppでobjをメンバに持つクラスのコンストラクタの初期化子リストを使うと何故か通る
private:
MenberLibClasse obj;
Class() :obj ("piyopiyo") { }
挙動把握しきれないんですけどライブラリ側の問題でしょうか??
// NG ヘッダにそのまま書こうとすると型指定子が必要ですとエラーが出る
private:
MenberLibClasse obj ("piyopiyo");
// OK ヘッダには引数なしで宣言した後、cppでobjをメンバに持つクラスのコンストラクタの初期化子リストを使うと何故か通る
private:
MenberLibClasse obj;
Class() :obj ("piyopiyo") { }
挙動把握しきれないんですけどライブラリ側の問題でしょうか??
108ハノン ◆QZaw55cn4c
2021/11/22(月) 20:50:48.90ID:f9+TjGGq109デフォルトの名無しさん
2021/11/22(月) 20:56:23.56ID:0LbM6y2O >>107
宣言の位置でメンバを初期化できるのはC++11からだけど、それが原因かな?
宣言の位置でメンバを初期化できるのはC++11からだけど、それが原因かな?
110デフォルトの名無しさん
2021/11/22(月) 20:59:28.54ID:UBpGrDL8 書くとしたらこうやろ
private:
MenberLibClasse obj = "piyopiyo";
private:
MenberLibClasse obj = "piyopiyo";
111デフォルトの名無しさん
2021/11/22(月) 21:02:09.68ID:jXuEZ/Sz 丸括弧はダメだよ
イコールか波括弧でなきゃ
イコールか波括弧でなきゃ
112デフォルトの名無しさん
2021/11/22(月) 21:04:04.13ID:jXuEZ/Sz 型指定子が必要って言われるのは
関数宣言と見られていて
仮引数の場所にリテラルがあるってことだ
関数宣言と見られていて
仮引数の場所にリテラルがあるってことだ
113デフォルトの名無しさん
2021/11/22(月) 21:13:00.22ID:aHjY0LXr >>111
イコールはダメで波括弧に変えたらコンパイルできました
イコールはダメで波括弧に変えたらコンパイルできました
114デフォルトの名無しさん
2021/11/22(月) 21:30:02.05ID:ahYOm2Qx private:
MenberLibClasse obj{"piyopiyo"};
MenberLibClasse obj{"piyopiyo"};
115デフォルトの名無しさん
2021/11/22(月) 23:03:46.80ID:gucWMAFN >>99
using namespace std::chrono;
// 現在時刻を取得
system_clock::time_point tp = system_clock::now();
// 現在時刻のミリ秒部分を取得
auto msec = duration_cast<milliseconds>(tp.time_since_epoch()).count() % 1000;
みたいなことをやると良い最後のまmillisecondでもsecondでもnanosecondでも逝ける
こないだ死ぬほどやり倒すた、
しかしずんねんながら現状MSVCのstd::chrono::zoned_timeが未実装のため、
システム時刻関連処理についてstd::chronoの利用を断念すた、orz
using namespace std::chrono;
// 現在時刻を取得
system_clock::time_point tp = system_clock::now();
// 現在時刻のミリ秒部分を取得
auto msec = duration_cast<milliseconds>(tp.time_since_epoch()).count() % 1000;
みたいなことをやると良い最後のまmillisecondでもsecondでもnanosecondでも逝ける
こないだ死ぬほどやり倒すた、
しかしずんねんながら現状MSVCのstd::chrono::zoned_timeが未実装のため、
システム時刻関連処理についてstd::chronoの利用を断念すた、orz
116デフォルトの名無しさん
2021/11/22(月) 23:16:45.51ID:gucWMAFN なおtime_point同士で引き算もできる
結果を具体的時間単位の時間表現にするのは同じくduration_cast<T>()
結果を具体的時間単位の時間表現にするのは同じくduration_cast<T>()
117デフォルトの名無しさん
2021/11/23(火) 10:20:15.57ID:wZOweAJh ostringstream の precision の上限がなぜか 255 に設定されているようで
mpreal big("1000桁規模の浮動小数点数");
ostringstream ss;
ss.precision(1000);
ss << big;
とすると ss に 255 文字程度しか入らないのです
cout.precision(1000);
cout << big;
だと 1000桁出ます
ostringstream の precision の上限をもっと大きくする方法はありますか?
mpreal big("1000桁規模の浮動小数点数");
ostringstream ss;
ss.precision(1000);
ss << big;
とすると ss に 255 文字程度しか入らないのです
cout.precision(1000);
cout << big;
だと 1000桁出ます
ostringstream の precision の上限をもっと大きくする方法はありますか?
118デフォルトの名無しさん
2021/11/23(火) 10:22:20.09ID:wZOweAJh ああ
勘違いかも
もうちょっと調べて質問します
勘違いかも
もうちょっと調べて質問します
119デフォルトの名無しさん
2021/11/23(火) 10:28:59.05ID:wZOweAJh とりあえず判ったのは
ss.rdbuf() の default の上限値が 255 らしい
ss.rdbuf() の default の上限値が 255 らしい
120デフォルトの名無しさん
2021/11/23(火) 10:53:38.11ID:v39GCTAR だっせ
そんな上限、規格票に書いてあるのか?
そんな上限、規格票に書いてあるのか?
121デフォルトの名無しさん
2021/11/23(火) 11:40:46.26ID:Vfqk4Xs7122デフォルトの名無しさん
2021/11/23(火) 11:52:24.16ID:wZOweAJh >>120
ss.rdbuf()->in_avail()
ss.rdbuf()->in_avail()
123デフォルトの名無しさん
2021/11/23(火) 13:42:01.58ID:X+sq98An 再現しそうな最小限のコードだけ描いて
mingw + gcc でコンパイル&実行したら期待通りの動作をしたが
VC だとやっぱり上限があるっぽい動きになってる
rdbuf() 使いつつ seek() すれば大丈夫かも知れないが
自分の使い方が間違ってるだけだと思いたい
mingw + gcc でコンパイル&実行したら期待通りの動作をしたが
VC だとやっぱり上限があるっぽい動きになってる
rdbuf() 使いつつ seek() すれば大丈夫かも知れないが
自分の使い方が間違ってるだけだと思いたい
124デフォルトの名無しさん
2021/11/23(火) 13:44:07.61ID:X+sq98An とりあえず mpreal は関係なかった
VC 側の問題らしいのでもう少し掘ってみる
VC 側の問題らしいのでもう少し掘ってみる
125デフォルトの名無しさん
2021/11/23(火) 14:39:06.53ID:X+sq98An VC 側 rdbuf()->pubseekpos() 併用で解決
126デフォルトの名無しさん
2021/11/23(火) 15:22:40.52ID:V3fVQTwt クラスのメンバ変数が全部intとかdoubleとかで足し算掛け算ができるものの場合に、
クラスの足し算掛け算を各メンバ変数の足し算掛け算として定義したいのですが
operator +とかoperator *のオーバーロードでメンバ変数について一個ずつ書いていく以外の方法ありますか?
今やろうとしていることでメンバ変数が多いので、いちいち列挙せずに済むなら便利だなと思ったのですが
クラスの足し算掛け算を各メンバ変数の足し算掛け算として定義したいのですが
operator +とかoperator *のオーバーロードでメンバ変数について一個ずつ書いていく以外の方法ありますか?
今やろうとしていることでメンバ変数が多いので、いちいち列挙せずに済むなら便利だなと思ったのですが
127デフォルトの名無しさん
2021/11/23(火) 15:49:25.55ID:57zkg5+u >>126
valarrayじやね?
valarrayじやね?
128デフォルトの名無しさん
2021/11/23(火) 16:47:46.55ID:za9QU+hA >>117
VC の in_avail() が間違った値を返してるんだなこれ
VC の in_avail() が間違った値を返してるんだなこれ
129デフォルトの名無しさん
2021/11/23(火) 17:12:53.52ID:V3fVQTwt >>127
ありがとうございます、使ってみます
ありがとうございます、使ってみます
130はちみつ餃子 ◆8X2XSCHEME
2021/11/23(火) 17:34:18.50ID:VSfhJ4CF >>126
現在の C++ はリフレクション系の機能が弱くてクラスからデータメンバを列挙するというようなことは出来ない。
「全てのメンバに対してやってくれ」というようなことはできない。
ただ、対象となるメンバを取り出すものさえ用意すればそれを様々な演算に適用することは可能だと思う。
つまり、メンバの列挙を一度で済ませる (なんども列挙しなくてよい) ことは出来るかもしれないってことね。
とはいえそれはそれで割とクソめんどうくせぇメタプログラミングの下準備が要るので
いっそ列挙しまくったほうが簡単かもしれん。
現在の C++ はリフレクション系の機能が弱くてクラスからデータメンバを列挙するというようなことは出来ない。
「全てのメンバに対してやってくれ」というようなことはできない。
ただ、対象となるメンバを取り出すものさえ用意すればそれを様々な演算に適用することは可能だと思う。
つまり、メンバの列挙を一度で済ませる (なんども列挙しなくてよい) ことは出来るかもしれないってことね。
とはいえそれはそれで割とクソめんどうくせぇメタプログラミングの下準備が要るので
いっそ列挙しまくったほうが簡単かもしれん。
131デフォルトの名無しさん
2021/11/23(火) 17:57:00.33ID:UgBkVfMX Q_OBJECT とかだとメンバの列挙出来たっけ
132デフォルトの名無しさん
2021/11/23(火) 23:10:58.29ID:G9Rlesey >>121
駄目なんじゃないかと思う
std::chronoはtime_pointを抽象化してタイムゾーンの異なる時刻間の差分を自動で取り扱いたい(そういう思想な)はずで、
ということはローカルタイムを扱う手段としてzoned_timeは無くてはならないピースとみなさざるおえない
どうしてもというならstd::chrono::system_timeを経由して古き良きtime_tとtime_pointの相互変換ができるから、
time_tまで降りてローカルタイムにしてtime_pointに戻す手はあるが、それをすると
同じtime_pointクラスで表される2種類のシリアル時間がプログラム内に生じてしまうから、
std::chronoの上記思想(時刻の差分や比較を自動で安全に取り扱いたい)が破壊される
ライブラリ仕様の理想が高邁すぎるか実装側の怠慢によって大事な用途において糞ライブラリになってしまっている例
駄目なんじゃないかと思う
std::chronoはtime_pointを抽象化してタイムゾーンの異なる時刻間の差分を自動で取り扱いたい(そういう思想な)はずで、
ということはローカルタイムを扱う手段としてzoned_timeは無くてはならないピースとみなさざるおえない
どうしてもというならstd::chrono::system_timeを経由して古き良きtime_tとtime_pointの相互変換ができるから、
time_tまで降りてローカルタイムにしてtime_pointに戻す手はあるが、それをすると
同じtime_pointクラスで表される2種類のシリアル時間がプログラム内に生じてしまうから、
std::chronoの上記思想(時刻の差分や比較を自動で安全に取り扱いたい)が破壊される
ライブラリ仕様の理想が高邁すぎるか実装側の怠慢によって大事な用途において糞ライブラリになってしまっている例
133デフォルトの名無しさん
2021/11/23(火) 23:41:07.98ID:mX+uwseB 何が出来ないと言っているのかまるで分からん
出来る部分と出来ない部分の切り分けがいるんでないの?
出来る部分と出来ない部分の切り分けがいるんでないの?
134デフォルトの名無しさん
2021/11/24(水) 00:03:21.95ID:EdXujyLt time_point(事実上UTC)とローカルタイムの相互変換がstd::chronoが思想的に目指しているほど安全にはできない
zoned_timeが実装されない限り
time_point(事実上UTC)同士の比較や差分はzoned_timeが実装されてないバージョンでも安全にできる
zoned_timeが実装されない限り
time_point(事実上UTC)同士の比較や差分はzoned_timeが実装されてないバージョンでも安全にできる
135デフォルトの名無しさん
2021/11/24(水) 00:18:07.67ID:HKyZluCV そんなアバウトな情報いらん
136デフォルトの名無しさん
2021/11/24(水) 00:31:14.95ID:EdXujyLt えっと、>>135はUTCとローカルタイムの変換ってわかります?
137デフォルトの名無しさん
2021/11/24(水) 00:39:36.48ID:EdXujyLt std::chronoで現在時刻を取得する一番自然な方法は、
system_clock::time_point now = system_clock::now();
や
他にもtime_tからの変換という方法があるが、いまさらtime_t使え言うぐらいならstd::chrono使わずにtime_tだけ使うは;;;
で、nowはどう見てもUTCであるから、日本時間を知りたければ、
上記time_point nowが日本時間の何年何月何日の何時何分何秒なのかを出力できねばならない
std::chronoの中にはzoned_timeを使わずにそれをやる手段が見当たらない
system_clock::time_point now = system_clock::now();
や
他にもtime_tからの変換という方法があるが、いまさらtime_t使え言うぐらいならstd::chrono使わずにtime_tだけ使うは;;;
で、nowはどう見てもUTCであるから、日本時間を知りたければ、
上記time_point nowが日本時間の何年何月何日の何時何分何秒なのかを出力できねばならない
std::chronoの中にはzoned_timeを使わずにそれをやる手段が見当たらない
138デフォルトの名無しさん
2021/11/24(水) 00:44:19.87ID:jtZYcQVF C++20より前のchronoはタイムゾーンのこと知らんからな…
139デフォルトの名無しさん
2021/11/24(水) 01:06:29.20ID:HKyZluCV140デフォルトの名無しさん
2021/11/24(水) 01:21:45.20ID:Jllasahs chronoはローカルタイムを扱えない、と言ってると思うよ
141デフォルトの名無しさん
2021/11/24(水) 02:40:02.07ID:xFDMAHHD142デフォルトの名無しさん
2021/11/24(水) 03:00:57.55ID:P1gN11rG ローカル時刻かUTCか以前の問題として、そもそもどんなフォーマットで数値に変換するのか
それが不明だったから誰も回答しなかったのだろうに
あとドキュメント信じる限りじゃzoned_timeはVS2019 16.10から使えるってよ
それが不明だったから誰も回答しなかったのだろうに
あとドキュメント信じる限りじゃzoned_timeはVS2019 16.10から使えるってよ
143デフォルトの名無しさん
2021/11/24(水) 03:04:53.60ID:Q5JPayEq C++は糞
std::は糞ばかり
boost最強
まで読んだ
std::は糞ばかり
boost最強
まで読んだ
145デフォルトの名無しさん
2021/11/24(水) 04:22:29.20ID:xFDMAHHD じゃ、もうtime_t使っとけ
146デフォルトの名無しさん
2021/11/24(水) 05:14:05.40ID:ZtAViqSQ 「良い感じの関数」なんて今流行りwのAIとか使わんと無理でしょ
147デフォルトの名無しさん
2021/11/24(水) 07:01:18.14ID:xQvD3wWY 確かにchronoは今一だね
filesystemはthread, iomanipとの連携が悪すぎ
使いにくいったらありゃしない
filesystemはthread, iomanipとの連携が悪すぎ
使いにくいったらありゃしない
148デフォルトの名無しさん
2021/11/24(水) 07:01:39.82ID:xQvD3wWY - filesystemは
+ tilesystemや
+ tilesystemや
149デフォルトの名無しさん
2021/11/24(水) 08:47:11.69ID:xQvD3wWY auto p = (void*)[]{};
これが通らないんだけど
stateless-lambdaは関数と見なせない?
これが通らないんだけど
stateless-lambdaは関数と見なせない?
150デフォルトの名無しさん
2021/11/24(水) 09:11:02.53ID:083KFMkM auto p = (void*)(void (*)())[]{};
151デフォルトの名無しさん
2021/11/24(水) 09:17:04.13ID:xFDMAHHD auto p = []()->void*{};
もう少し学習しろ
もう少し学習しろ
152デフォルトの名無しさん
2021/11/24(水) 10:46:50.00ID:kXzWnsgO 何がしたいんか知らんけど
auto p = [](){};
auto p = []()->void*{};
auto p = []()->void{};
本人の意図が判らんことには絶対に正解に辿り着けない質問大杉
auto p = [](){};
auto p = []()->void*{};
auto p = []()->void{};
本人の意図が判らんことには絶対に正解に辿り着けない質問大杉
153デフォルトの名無しさん
2021/11/24(水) 11:11:35.49ID:xQvD3wWY void func1(void*);
void func2(){}
func1(func2);
のようなことをしようとしてて怒られるから
func1((void*)func2);
にしてた
で、func2で名前空間を汚染したくないから
stateless-lambda使おうと思った
void func2(){}
func1(func2);
のようなことをしようとしてて怒られるから
func1((void*)func2);
にしてた
で、func2で名前空間を汚染したくないから
stateless-lambda使おうと思った
154はちみつ餃子 ◆8X2XSCHEME
2021/11/24(水) 11:25:51.06ID:nY9AsqgQ 関数 (関数ポインタ) を void* で受ける雑なことをしといて名前空間を汚すのは気にするのか。
まあフレームワークとかの側でそうなってたら仕方ない場合もあるけど……。
まあフレームワークとかの側でそうなってたら仕方ない場合もあるけど……。
155デフォルトの名無しさん
2021/11/24(水) 11:28:11.15ID:P1gN11rG variant的なことを昔ながらの方法でやっているのかもしれない
156デフォルトの名無しさん
2021/11/24(水) 11:41:52.30ID:kXzWnsgO auto p = []()->void*{return NULL;};
↑これはOKだが
auto p = []()->void*{};
↑こっちはコンパイルエラーにして欲しいよね
↑これはOKだが
auto p = []()->void*{};
↑こっちはコンパイルエラーにして欲しいよね
157デフォルトの名無しさん
2021/11/24(水) 11:48:13.06ID:jtZYcQVF 単にステートレスラムダを関数ポインタに変換したいならこういう有名なハックがある
auto p = +[]{};
auto p = +[]{};
158デフォルトの名無しさん
2021/11/24(水) 12:47:46.56ID:xQvD3wWY159デフォルトの名無しさん
2021/11/24(水) 12:55:27.21ID:xQvD3wWY ポインタに単項プラスなんぞ考えたこともなかった
void test(char* p)
{
cout << +p << endl;
cout << *+p << endl;
cout << *(0+p) << endl;
cout << 0[p] << endl;
}
void test(char* p)
{
cout << +p << endl;
cout << *+p << endl;
cout << *(0+p) << endl;
cout << 0[p] << endl;
}
160デフォルトの名無しさん
2021/11/24(水) 15:19:51.62ID:083KFMkM 生配列をポインタに変換するときも単項+使うね
161デフォルトの名無しさん
2021/11/24(水) 15:33:19.13ID:kXzWnsgO >>160
何が嬉しいの
何が嬉しいの
162デフォルトの名無しさん
2021/11/25(木) 09:42:14.59ID:r5Heuy4P C++11 や C++17 や C++20 とかどのオプションでコンパイルされているかを
コンパイル中に判断したいのですが
ソースコード中にどう書けばよいのですか
コンパイル中に判断したいのですが
ソースコード中にどう書けばよいのですか
163デフォルトの名無しさん
2021/11/25(木) 10:11:07.71ID:r5Heuy4P164デフォルトの名無しさん
2021/11/25(木) 10:12:19.59ID:lTzmbhqT 全然解決してなくて草
165デフォルトの名無しさん
2021/11/25(木) 11:00:47.97ID:nZfwh6w7 >>161
#include <iostream>
#include <cstdio>
int main() {
int a[] = {1, 2, 3, 4};
std::printf("%p %p\n", &a, &a + 1);
std::printf("%p %p\n", +a, +a + 1);
int (*p)[4] = &a;
std::printf("%p %p\n", p, p + 1);
int *q = &a[0];
std::printf("%p %p\n", q, q + 1);
return 0;
}
0x7ffd548f5d00 0x7ffd548f5d10
0x7ffd548f5d00 0x7ffd548f5d04
0x7ffd548f5d00 0x7ffd548f5d10
0x7ffd548f5d00 0x7ffd548f5d04
つまり&a[0]と書くのを+aと書くだけですませられる
どっちが分かりやすいかはさておき
#include <iostream>
#include <cstdio>
int main() {
int a[] = {1, 2, 3, 4};
std::printf("%p %p\n", &a, &a + 1);
std::printf("%p %p\n", +a, +a + 1);
int (*p)[4] = &a;
std::printf("%p %p\n", p, p + 1);
int *q = &a[0];
std::printf("%p %p\n", q, q + 1);
return 0;
}
0x7ffd548f5d00 0x7ffd548f5d10
0x7ffd548f5d00 0x7ffd548f5d04
0x7ffd548f5d00 0x7ffd548f5d10
0x7ffd548f5d00 0x7ffd548f5d04
つまり&a[0]と書くのを+aと書くだけですませられる
どっちが分かりやすいかはさておき
166デフォルトの名無しさん
2021/11/25(木) 11:28:16.28ID:pIkhaGD2 __cplusplus マクロ見るんじゃね?普通は
あとは言語機能ごとのマクロ見たり
あとは言語機能ごとのマクロ見たり
167デフォルトの名無しさん
2021/11/25(木) 11:38:56.35ID:lTzmbhqT まるで間違ってて草
168デフォルトの名無しさん
2021/11/25(木) 13:18:45.98ID:U2fItJ5c169デフォルトの名無しさん
2021/11/25(木) 14:43:49.72ID:Ts2h3uwp みんなテキトーだなー(棒)
170はちみつ餃子 ◆8X2XSCHEME
2021/11/26(金) 02:28:38.10ID:qCsl9kRb >>166
処理系がちゃんとそのへんのルールを守ってくれればいいが現実は非情である。
処理系がちゃんとそのへんのルールを守ってくれればいいが現実は非情である。
171デフォルトの名無しさん
2021/11/26(金) 21:22:58.84ID:Hq7eoo6P172デフォルトの名無しさん
2021/11/27(土) 03:24:08.24ID:ymghmbi1 The following macro names shall be defined by the implementation:
__cplusplus
The name __cplusplus is defined to the value 199711L when compiling a C++ translation unit.
G++ now sets the predefined macro __cplusplus to the correct value, 199711L for C++98/03, and 201103L for C++11.
http://gcc.gnu.org/gcc-4.7/changes.html
But g++ < 4.7.0 is __cplusplus defined alway 1.
https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/
__cplusplus
The name __cplusplus is defined to the value 199711L when compiling a C++ translation unit.
G++ now sets the predefined macro __cplusplus to the correct value, 199711L for C++98/03, and 201103L for C++11.
http://gcc.gnu.org/gcc-4.7/changes.html
But g++ < 4.7.0 is __cplusplus defined alway 1.
https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/
173デフォルトの名無しさん
2021/11/27(土) 04:01:44.14ID:7zx+CKid いまさらかよ
174デフォルトの名無しさん
2021/11/27(土) 12:26:56.81ID:tS+5RcHX マジかよ知らなかった
GCCくんさぁ…
GCCくんさぁ…
175デフォルトの名無しさん
2021/11/27(土) 13:29:25.44ID:at/FeDW1 >>174
初心者?
初心者?
176デフォルトの名無しさん
2021/11/27(土) 14:01:53.67ID:7zx+CKid リナスもg++の設計にはイラチMAXの筈だわ
177デフォルトの名無しさん
2021/11/27(土) 15:41:12.47ID:dxTMcmeT Rust厨に弱みを魅せるな
178デフォルトの名無しさん
2021/11/27(土) 16:22:10.07ID:GY7utvzm よわみにはつけこまれる
179デフォルトの名無しさん
2021/11/28(日) 21:05:38.19ID:6joWVJIB C++でblas, lapackを使うのにいいインターフェースってどれでしょうか?
調べてたらCppLapack, Lapack++、armadillo とか出てきましたが、定番さとか使いやすさとか教えていただけると嬉しいです
とりあえずは複雑なことはしない予定で、行列の掛け算とか対角化ぐらいが簡潔に書けると嬉しいです
調べてたらCppLapack, Lapack++、armadillo とか出てきましたが、定番さとか使いやすさとか教えていただけると嬉しいです
とりあえずは複雑なことはしない予定で、行列の掛け算とか対角化ぐらいが簡潔に書けると嬉しいです
180デフォルトの名無しさん
2021/11/29(月) 00:38:26.49ID:UEkaTEcQ 久しぶりにC++再開したが
昔からだが
PHPはC++のスクリプト版といえるかのように文法・関数が似てるから
プロトタイプをPHPで作成したほうが時短になるかと?
仮想コードによるアルゴリズムの記述やフローチャートなどに近い
昔からだが
PHPはC++のスクリプト版といえるかのように文法・関数が似てるから
プロトタイプをPHPで作成したほうが時短になるかと?
仮想コードによるアルゴリズムの記述やフローチャートなどに近い
181デフォルトの名無しさん
2021/11/29(月) 00:43:30.91ID:UEkaTEcQ 行列の掛け算とか対角化ならPythonかマキシマでいいとおもうが?
大規模だともしかしたらC++のほうが早いかもしれないが
PythonだとGoogle ColaboratoryとかでGPUをネットワーク使用できたりするが
Colaboratory とは
Colaboratory(略称: Colab)は、ブラウザから Python を記述、実行できるサービスです。次の特長を備えています。
環境構築が不要
GPU への無料アクセス
簡単に共有
https://colab.research.google.com/notebooks/welcome.ipynb
大規模だともしかしたらC++のほうが早いかもしれないが
PythonだとGoogle ColaboratoryとかでGPUをネットワーク使用できたりするが
Colaboratory とは
Colaboratory(略称: Colab)は、ブラウザから Python を記述、実行できるサービスです。次の特長を備えています。
環境構築が不要
GPU への無料アクセス
簡単に共有
https://colab.research.google.com/notebooks/welcome.ipynb
182デフォルトの名無しさん
2021/11/29(月) 01:05:44.61ID:roEk3hNb 宣伝はお断りしています
183デフォルトの名無しさん
2021/11/29(月) 06:13:36.91ID:i8Ax0msm >>179
BLASというとvalarrayだね
BLASというとvalarrayだね
184デフォルトの名無しさん
2021/11/29(月) 11:31:29.88ID:W4Pu+K5+ >>183
は?
は?
185デフォルトの名無しさん
2021/11/29(月) 14:27:16.33ID:Afxc3rI9 >PHPはC++のスクリプト版といえるかのように文法・関数が似てる
迷惑するから出鱈目言うな
迷惑するから出鱈目言うな
186はちみつ餃子 ◆8X2XSCHEME
2021/11/29(月) 14:43:58.00ID:cgXmRWbT 因果が逆だろう。
似た使い方しかしない人間にとっては似て見えるということもあるんだろうさ。
似た使い方しかしない人間にとっては似て見えるということもあるんだろうさ。
187デフォルトの名無しさん
2021/11/29(月) 14:54:09.52ID:Swm9PZmw いや激しく誤解を生む情報だと思うw
188デフォルトの名無しさん
2021/11/29(月) 15:15:20.73ID:zo5XubVi 制御構文が似ていれば似ているように見える人というのは一定数いる
それしか使わないから
それしか使わないから
189デフォルトの名無しさん
2021/11/29(月) 15:19:08.39ID:LzdsKRCS C++のこともphpのことも両方ニワカじゃないとなかなか出てこない発言
昨日今日入門書めくってるくらいのレベルじゃないとなかなかできない発言
昨日今日入門書めくってるくらいのレベルじゃないとなかなかできない発言
190デフォルトの名無しさん
2021/11/30(火) 09:50:00.96ID:abbimJAH template<class T>
void f(T x) {
auto a = x, b = 0;
}
f(0.0);
これgccだとコンパイル通るけど規格的にはダメだよね?
void f(T x) {
auto a = x, b = 0;
}
f(0.0);
これgccだとコンパイル通るけど規格的にはダメだよね?
191デフォルトの名無しさん
2021/11/30(火) 09:57:35.75ID:+4eAilPB ok
192デフォルトの名無しさん
2021/11/30(火) 10:46:34.33ID:LDqTXpbe 何が駄目になるの?
193デフォルトの名無しさん
2021/11/30(火) 10:48:39.10ID:b4Wv8Im2 autoの推定がxから導かれるdoubleと0から導かれるintで矛盾しないかって話
194デフォルトの名無しさん
2021/11/30(火) 10:51:24.87ID:icNXz82r そもそも何の規格だよ
問題あるなら書き直せばいいだろ
問題あるなら書き直せばいいだろ
195デフォルトの名無しさん
2021/11/30(火) 10:58:47.10ID:b4Wv8Im2 >>190
clは弾くぞ
clは弾くぞ
196デフォルトの名無しさん
2021/11/30(火) 11:18:37.50ID:rIKeeiBO https://eel.is/c++draft/dcl.type.auto.deduct#def:placeholder_type_deduction
For a variable declared with a type that contains a placeholder type, T is the declared type of the variable.
https://eel.is/c++draft/dcl.spec.auto.general#7
The type of each declared variable is determined by placeholder type deduction, and if the type that replaces the placeholder type is not the same in each deduction, the program is ill-formed.
Draft これでいいか分からんけど、多分ダメですね
a と b は個別に型推論して、同一でなかったら ill-formed であると読める
For a variable declared with a type that contains a placeholder type, T is the declared type of the variable.
https://eel.is/c++draft/dcl.spec.auto.general#7
The type of each declared variable is determined by placeholder type deduction, and if the type that replaces the placeholder type is not the same in each deduction, the program is ill-formed.
Draft これでいいか分からんけど、多分ダメですね
a と b は個別に型推論して、同一でなかったら ill-formed であると読める
197デフォルトの名無しさん
2021/11/30(火) 11:29:55.04ID:dtpnJADB https://wandbox.org/permlink/GOps3Ikgl1VsvwoU
gcc6.3.0以下とclangだとちゃんとエラーになるな
gcc6.3.0以下とclangだとちゃんとエラーになるな
198デフォルトの名無しさん
2021/11/30(火) 11:33:54.11ID:dtpnJADB199デフォルトの名無しさん
2021/11/30(火) 11:34:06.53ID:LDqTXpbe 0の部分static_castしなきゃ駄目ということか。なるほど
200デフォルトの名無しさん
2021/11/30(火) 13:11:18.23ID:b4Wv8Im2 g++ 10.3.0は-pedantic指定しても通すな
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否★4 [夜のけいちゃん★]
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★4 [蚤の市★]
- 中国側が首相答弁の撤回要求、日本側拒否★5 [夜のけいちゃん★]
- 「厚かましい挑発的発言だ」中国国連大使が高市首相発言に強く反発 日本の常任理事国入りに明確に反対 [ぐれ★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★6 [ぐれ★]
- 解体ごみ約2.3トンを山に不法投棄か トルコ国籍解体工を逮捕 埼玉 [どどん★]
- 【悲報】高市早苗さん、たった一人で日本を崩壊へ導く [714769305]
- 【悲報】「やったー!こだわりまくった洋館仕立ての家を建てたぞ!」➡「「離婚したんで住まずに売ります……」 [158478931]
- 【ネトウヨの理想国家】政府が国民の旅行先を統制する国 [419054184]
- 精神する時の🏡
- でも高市早苗がセックス外交したら逆転ホームランあるよな [695089791]
- 【画像】日本のリン肥料、7割が中国だった!レアじゃないアースを禁輸されただけて餓死へ [347751896]
