1 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 11:53:25.59 ID:ZPCfyTux.net] C++に関する質問やら話題やらはこちらへどうぞ。 ただし質問の前にはFAQに一通り目を通してください。 IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。 前スレ C++相談室 part150 https://mevius.5ch.net/test/read.cgi/tech/1584975873/ このスレもよろしくね。 【初心者歓迎】C/C++室 Ver.105【環境依存OK】 mevius.5ch.net/test/read.cgi/tech/1556142878/ ■長いソースを貼るときはここへ。■ codepad.org/ https://ideone.com/ [C++ FAQ] https://isocpp.org/wiki/faq/ www.bohyoh.com/CandCPP/FAQ/ (日本語) テンプレここまで
2 名前:デフォルトの名無しさん [2020/05/14(木) 12:14:02.15 ID:tvxDWcUo.net] >>1 O2
3 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 15:59:11 ID:Qhhsb9+b.net] https://mevius.5ch.net/test/read.cgi/tech/1584975873/1000 > 1000 名前:デフォルトの名無しさん[sage] 投稿日:2020/05/14(木) 15:51:59.69 ID:X1Z5LMNW [4/4] > ん? > >未だにC++03にしがみついているわけがない > >>993 で17使ってると言ってたようだが > > てかもうちょい生産的な話出来んのか > 仕事でも趣味でも都合の良いコンパイラ使えばいいだけの話 > 構造化束縛をマクロとテンプレートで実現するとかなら面白い話題なんだけどな(面白いだけで実用性があるとは言ってない なんだ、17で俺スゲーやってんのおまえじゃん 俺は仕事で17は当たり前という立場 おまえは仕事には危なくて使えないという立場 俺に教えを請うて突っぱねられたのがおまえ あとはわかるな?
4 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 16:04:10 ID:X1Z5LMNW.net] >>3 >なんだ、17で俺スゲーやってんのおまえじゃん >おまえは仕事には危なくて使えないという立場 ? 俺の話じゃないんだが・・ いいから消えろよ荒らしは
5 名前:デフォルトの名無しさん [2020/05/14(Thu) 16:04:50 ID:QxbT6fEj.net] ホスト環境は17、組み込みは03で良いのでは?
6 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 16:06:44 ID:Qhhsb9+b.net] >>5 その「組み込み」ってのは、まさかH8とかか? ARM用のコンパイラがどうなっているか知ってるか?
7 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 16:07:42 ID:Qhhsb9+b.net] >>4 逃げたければ消えるのはおまえだ ほら行けよ、追わねえでやるから
8 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 16:44:48.92 ID:7nN34odP.net] extern "C" 以下が、宣言になるなのか、定義になるのかについて、以下のページには、 extern "C" { int i; } と書くと、i は、「定義」される。 宣言で済ましたい場合には、 extern "C" { extern int i; }としなくてはならない。しかし、中括弧で囲まずに、 extern "C" int i; と書いた場合には、i は「宣言」だけされる、とあります。 さらに、これは変数の場合で、関数の場合には、戻り値 関数名(仮引数列) の後に関数定義部の{・・・} があるかどうかで宣言か定義かが変わるだけのようです。といいますか、関数の場合は、関数定義部 がなければ、「定義」しようがないのでそれは当然かもしれませんが(結構複雑です。)。 これらの動作について、cppreference などで述べられているページがあれば、 教えていただければ幸いです。 https://stackoverflow.com/questions/1041866/what-is-the-effect-of-extern-c-in-c Note that extern "C" { int i; } is a definition. This may not be what you intended, next to the non-definition of void g(char);. To make it a non-definition, you would need extern "C" { extern int i; }. On the other hand, the one-declaration syntax without braces does make the declaration a non-definition: extern "C" int i; is the same as extern "C" { extern int i; }
9 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 17:19:49 ID:7nN34odP.net] >>8 【関連事項】 [winnt.h の中] #ifdef __cplusplus #define EXTERN_C extern "C" #else #define EXTERN_C extern #endif [urlmon.h の中] EXTERN_C const IID CLSID_CdlProtocol; // (100) [考察] (100)は、EXTERN_C のマクロ展開後 *pure C では、 extern const IID CLSID_CdlProtocol; // (101) *C++ では、 extern "C" const IID CLSID_CdlProtocol; // (102) となります。 (101)は明らかに(「定義」ではなく)「宣言」なので、モード間のバランスから考えて、 (102)も宣言でなくてはなりません。一方、 #ifdef __cplusplus extern "C" { #endif int aaa; #ifdef __cplusplus } #endif と書いた場合、aaa は、どちらのモードでも「(変数)定義」であり、単なる「宣言」ではありません。 これは、(102)が「宣言」であることと、ある種の矛盾を生じているようですが、これが現状の 正しい解釈のようです。しかし、この事が cppreference のどこに書いてあるのかが分かりません。
10 名前:デフォルトの名無しさん [2020/05/14(Thu) 17:25:47 ID:xR/PZA9p.net] 1回しか使われていない場合 2回以上使われている場合 「宣言」とは別に定義がリンクされている場合
11 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 17:33:00 ID:7nN34odP.net] >>10 そういうことは理解しているつもりです。 extern ではなく、extern "C" の動作が、直後にブロックがあるかないかや、 変数か関数かによって、不思議な変化を見せることに興味があります。
12 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 17:38:36 ID:Qhhsb9+b.net] int aaa; //definition in C++, tentative in C int aaa; //invalid in C++, valid in C
13 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 17:48:01 ID:nTyJBG5I.net] クラスで定義された型を言語構文でバラして対応付けると言う非対称な気持ち悪さと const, 非constを混在して受けられない不便さとがあるな 構造化バインディング まーtuple限定ではなく構造体を対応付けられるから非対称ってわけでもないか
14 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 17:51:54 ID:nTyJBG5I.net] >>8 extern "C" {} はブレース内をCリンケージで処理するつって話 extern "C" int a; はCリンケージのextern文
15 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 18:15:11 ID:7nN34odP.net] >>14 stackoverflow以外に、公式サイトでそれが書かれている場所を教えていただければ幸いです。
16 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 18:18:32.65 ID:jF4/VTtK.net] cppreferenceは仕様書じゃないから書いてなくても不思議じゃないと思うけど。 仕様書見たら?ドラフト版はネットに転がってる
17 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 18:25:58.94 ID:7nN34odP.net] >>16 その公式アドレスを教えていただければ幸いです。
18 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 18:27:40.05 ID:nTyJBG5I.net] >>15 cppreference.comに書かれてるぞ
19 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 18:28:39.75 ID:nTyJBG5I.net] externの説明のnotesのところにな
20 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 18:32:35.87 ID:jF4/VTtK.net] >>17 ggrks www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4713.pdf あとcppreferenceはある意味ファンサイトみたいなものなので、何らかの標準化組織の公式サイトというわけじゃないよ
21 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 18:42:47.93 ID:nTyJBG5I.net] つーか、cppreferenceに書いてあるのに見落としてよそのサイト教えろとか馬鹿丸出しで笑える
22 名前:デフォルトの名無しさん [2020/05/14(木) 18:45:51.63 ID:QxbT6fEj.net] バカにバカというのはバカ差別で違法だからね。
23 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 20:34:45.27 ID:Qhhsb9+b.net] 情報量ゼロのゴミレスでドヤ顔する自覚なきクズ大杉 20はggrksと言いながらちゃんとリンク貼ってる
24 名前:デフォルトの名無しさん [2020/05/14(木) 20:40:53.93 ID:xR/PZA9p.net] >>22 https://www.youtube.com/watch?v=M-5c6l4QfC8
25 名前:デフォルトの名無しさん [2020/05/14(木) 20:46:17.52 ID:QxbT6fEj.net] >>24 「私たちは抗議活動のための支援団体、人道支援団体ではない」 反日団体だから慰安婦なんか知ったことじゃないって事だろ? 筋通ってると思うが。
26 名前:デフォルトの名無しさん [2020/05/14(木) 20:48:02.32 ID:QxbT6fEj.net] そういえば、チョンにチョンというのはチョン差別で違法だけど、日本人に日本人というのは別に問題ないね。 フランス人にフランス人というのも問題ないし、中国人に中国人というのも問題ない。 何が違うんだろ。
27 名前:デフォルトの名無しさん [2020/05/14(Thu) 20:51:04 ID:QxbT6fEj.net] チョンというのがダメなのかと思ったけど。 朝鮮人に朝鮮人というのも朝鮮人差別だから違法だよね。 ますますわからん。
28 名前:デフォルトの名無しさん mailto:sage [2020/05/15(金) 18:22:21 ID:hNzctM0s.net] 以下の混乱を、どう解決すべきか分かる人いますか? ・無名の共用体: 問題は特に有りません。 ・無名の構造体: 入れ子の構造体(nested class)の「型定義」と区別が付かない気がします。 以下はその説明です : class CPerson { // (1) struct _TAaa { // (2) ・・・ }; // (3) }; と書いた場合、(3) の部分にメンバ名が書かれていません。 しかし、これでは以下のどちらかなのか区別できない気がするのです。 a. CPerson の中に「無名ではあるが実態のあるメンバ」として「メンバ変数」を定義するつもり。 b. 単に、CPerson の class scope の中に _TAaa というタグ名を持つ構造体を「型定義」するつもり。 MSは、a の方針で、この形式 (2)〜(3) を、「anonymous structure」と定義しているらしいです。 しかし、C++ には、b の解釈の「nested class」という言葉も存在しています。
29 名前:デフォルトの名無しさん mailto:sage [2020/05/15(金) 18:32:30 ID:OzObLB6i.net] >>28 自分でコンパイルしてどうなるか試したんだよな?
30 名前:デフォルトの名無しさん mailto:sage [2020/05/15(金) 18:39:41 ID:7pqJGfJd.net] 2に名前つけている時点で無名じゃない
31 名前:デフォルトの名無しさん mailto:sage [2020/05/15(金) 18:44:03 ID:hNzctM0s.net] >>30 なるほど。
32 名前:デフォルトの名無しさん [2020/05/16(土) 16:37:49 ID:nLCzlpLv.net] std::bitset を std::unordered_map か std::map のキーとして使用したいのですが、 どうすればよろしいのでしょうか?
33 名前:デフォルトの名無しさん mailto:sage [2020/05/16(土) 16:40:58 ID:hM/FmoW0.net] >>32 やってみて、何か問題あったの?
34 名前:デフォルトの名無しさん mailto:sage [2020/05/16(土) 16:46:28 ID:tFvEvqcA.net] std::unordered_map<std::bitset<42>, int> um; um[std::bitset<42>("0011")] = 9999; std::cout << um[std::bitset<42>("0011")] ; 普通に動いたぞ 何に困ってるんだ?
35 名前:デフォルトの名無しさん [2020/05/16(土) 16:50:35 ID:nLCzlpLv.net] >>33 >>34 下のコードで書いてもエラーが出てしまってどうすればよいかがわからないんです。 #include <map> #include <unordered_map> #include <bitset> int main() { std::map<std::bitset<100>, int> a; std::bitset<100> n; n.set( 1 ); a.insert( std::make_pair( n, 100 ) ); // ここでエラーが出てしまいます。 return 0; }
36 名前:デフォルトの名無しさん mailto:sage [2020/05/16(土) 16:59:00 ID:hM/FmoW0.net] >>35 エラーメッセージも貼って、エラーメッセージのわからないところも書いてくれるといいな。
37 名前:デフォルトの名無しさん [2020/05/16(土) 17:07:47 ID:nLCzlpLv.net] >>36 error C2676: 二項演算子 '<': 'const _Ty' は、この演算子または定義済の演算子に適切な型への変換の定義を行いません。(新しい動作; ヘルプを参照) with [ _Ty=std::bitset<100> ] message : クラス テンプレート メンバー関数 'bool std::less<std::bitset<100>>::operator ()(const _Ty &,const _Ty &) const' のコンパイル中 with [ _Ty=std::bitset<100> ] message : コンパイル対象の関数 テンプレート インスタンス化 'bool std::less<std::bitset<100>>::operator ()(const _Ty &,const _Ty &) const' のリファレンスを確認してください with [ _Ty=std::bitset<100> ] message : コンパイル対象の クラス テンプレート インスタンス化 'std::less<std::bitset<100>>' のリファレンスを確認してください message : コンパイルされている変数テンプレート 'const bool is_empty_v<std::less<std::bitset<100> > >' のリファレンスをご参照ください message : コンパイル対象の クラス テンプレート インスタンス化 'std::_Tree<std::_Tmap_traits<_Kty,_Ty,_Pr,_Alloc,false>>' のリファレンスを確認してください with [ _Kty=std::bitset<100>, _Ty=int, _Pr=std::less<std::bitset<100>>, _Alloc=std::allocator<std::pair<const std::bitset<100>,int>> ] message : コンパイル対象の クラス テンプレート インスタンス化 'std::map<std::bitset<100>,int,std::less<std::bitset<100>>,std::allocator<std::pair<const std::bitset<100>,int>>>' のリファレンスを確認してください
38 名前:デフォルトの名無しさん mailto:sage [2020/05/16(土) 17:07:54 ID:tFvEvqcA.net] わかった、std::mapだとダメなんだな bitsetがoperator<持ってないからだ これ定義すればmapでも通ると思うよ template<> struct std::less<std::bitset<100>> { bool operator()(const std::bitset<100>& lhs, const std::bitset<100>& rhs) const{ return lhs.to_ulong() < rhs.to_ulong();} };
39 名前:デフォルトの名無しさん [2020/05/16(土) 17:08:13 ID:nLCzlpLv.net] といったメッセージが出ております。
40 名前:デフォルトの名無しさん [2020/05/16(土) 17:09:26 ID:is04b0b3.net] >>35 a.insert( std::make_pair< FOO , BAR >( n, 100 ) );
41 名前:デフォルトの名無しさん mailto:sage [2020/05/16(土) 17:09:55 ID:tFvEvqcA.net] まあどうしてもmapにしたい理由がなけりゃおとなしくunordered_mapにした方がいいと思うけど stdのテンプレートをstdのクラスで特殊化するのは本来は反則だし、unordered_mapの方がだいたい効率いいし
42 名前:デフォルトの名無しさん [2020/05/16(土) 17:16:42.14 ID:uXmamJPc.net] 普通に考えたらこれだろ。 std::make_pair( n, 100 )
43 名前:デフォルトの名無しさん [2020/05/16(土) 17:36:40.03 ID:nLCzlpLv.net] 皆さん。情報ありがとうございます。 >>38 試してみた所ビットを33個立てるとstd::overflow が出てしまうようです。 おそらく関数の仕様的な問題だと思うのですが…… >>40 a.insert( std::make_pair<std::bitset<MAX>, int>( n, 100 ) ); とやってみた所エラーが出てしまいました。 この辺の指定はコンパイラが勝手に行ってくれると思っていたのですが、 指定しなければならないのでしょうか? >>41 std::unordered_map を利用するとうまくいきました。 ありがとうございます。 >>42 すみません。 >>40 と同じ理由なのでしょうか?
44 名前:デフォルトの名無しさん mailto:sage [2020/05/16(土) 17:50:14 ID:qkv5Lv3o.net] bitset の値同士で < での比較ができないから map でエラーってことか。 unordered_map なら == で比較できれば使える、と。
45 名前:デフォルトの名無しさん mailto:sage [2020/05/16(土) 18:00:40 ID:tFvEvqcA.net] ああ>>38 だとulongにして比較してるからオーバーフローしちゃうな 真面目にビット比較するように関数書けば通ると思う 遅そうだしなおさらunordered_mapの方が良くなるけど
46 名前:デフォルトの名無しさん [2020/05/17(日) 14:06:29 ID:7W3ntFmq.net] ラムダ式にテンプレートの型指定ってできないんですかね? auto f = []<class T>(T) {}; auto f2 = []<class T>() {}; f(1); f2<int>(); fは引数にその型のパラメータがあるので大丈夫なんですけど、 f2だとコンパイルが通らないです...
47 名前:デフォルトの名無しさん mailto:sage [2020/05/17(日) 14:12:23 ID:ykqeUojC.net] ダミーの引数渡して decltypeするとかすればいいんじゃね
48 名前:デフォルトの名無しさん mailto:sage [2020/05/17(日) 14:33:24 ID:AX8hrxuQ.net] >>46 呼び出してるのはあくまでオーバーロードされた関数呼び出し演算子なので、こうする f2.operator()<int>(); https://wandbox.org/permlink/uVSptZMZErNrL5p3
49 名前:デフォルトの名無しさん mailto:sage [2020/05/17(日) 14:41:04 ID:7W3ntFmq.net] >>48 なるほど!ありがとうございます!!
50 名前:デフォルトの名無しさん [2020/05/18(月) 09:15:27 ID:XEI7YtdQ.net] なるほど 戻り値で判断するのも知りたい
51 名前:デフォルトの名無しさん mailto:sage [2020/05/18(月) 10:30:31 ID:VVfIWrZc.net] >>46 auto仮引数ではあかんの? auto f = [](auto arg) { cout << typeid(arg).name() << endl; }; f(1); //int f(1.5); //double
52 名前:デフォルトの名無しさん [2020/05/18(月) 19:43:09 ID:NOr8CY4q.net] 以下のコードを実行すると 'あ' がアルファベットと判定されてしまうのですが、なぜかわかりますか? Visual C++ 2019でもg++ 7.5.0でも結果は一緒でした(値は違いますが)。 std::locale loc(""); std::locale::global(loc); std::wcout << std::isalpha(L'あ') << std::endl; std::wcout << iswalpha(L'あ') << std::endl;
53 名前:デフォルトの名無しさん mailto:sage [2020/05/18(月) 20:28:29.14 ID:SqFV2JvV.net] あはアルファベットだからだろう
54 名前:デフォルトの名無しさん mailto:sage [2020/05/18(月) 20:49:09 ID:vxC60pVH.net] というより、その判定結果だからこそあはアルファベットなんだよ isalphaがtrueを返すものを現在のロケールにおけるアルファベットと呼ぶと言う方が正しいか
55 名前:デフォルトの名無しさん mailto:sage [2020/05/18(月) 20:53:28 ID:ah40zw28.net] いや、isalphaがtrueになる文字は各localeで決まっている isalphaはそれを垂れ流しているだけ
56 名前:デフォルトの名無しさん [2020/05/18(月) 21:32:06.39 ID:cgM2dsGJ.net] is_ascii_alpha()のほうが良く使う。
57 名前:デフォルトの名無しさん [2020/05/18(月) 22:16:41 ID:NOr8CY4q.net] ありがとうございます 普段は「日本語のアルファベット」とはあまり使わないけれど、 設定されている言語で表現するための文字のことをアルファベットと呼んでいると理解しておきます。
58 名前:デフォルトの名無しさん mailto:sage [2020/05/19(火) 03:42:01 ID:dHzzm0xI.net] そもそも英語では普通にひらがなとカタカナを指して"Japanese alphabet"と呼ぶ
59 名前:デフォルトの名無しさん [2020/05/19(火) 10:55:08 ID:h69Ba80R.net] アルファベットはアラビア語が語源?
60 名前:デフォルトの名無しさん [2020/05/19(火) 10:56:23 ID:h69Ba80R.net] あと正確に言うなら日本語のアルファベットは いろは
61 名前:デフォルトの名無しさん mailto:sage [2020/05/19(火) 12:21:31 ID:kOq4o5Tk.net] アルファベット=表音文字と言いたいの?
62 名前:デフォルトの名無しさん mailto:sage [2020/05/19(火) 13:16:28.27 ID:kUNy0nAn.net] stlを考えた人は馬鹿だからな。
63 名前:デフォルトの名無しさん mailto:sage [2020/05/19(火) 13:40:15 ID:kUNy0nAn.net] isalpha()が2バイト文字環境でいままで使われてきた経緯も知らずに勝手に仕様を変えてしまう馬鹿な人々。 min,maxも伝統的なマクロの存在を知らずに衝突させてしまう馬鹿。 さらに馬鹿なのはSTL作者達なのにコンパイラ処理系作者のせいにしてしまう愚かな烏合の衆たち。
64 名前:デフォルトの名無しさん mailto:sage [2020/05/19(火) 13:44:38 ID:JQlWutmQ.net] isalphaは昔のcでもlocale依存だろ
65 名前:デフォルトの名無しさん [2020/05/19(火) 14:25:44.49 ID:O4jzhFRD.net] STLは、なぜあの時代に、ここまで抽象化できたのか?彼らは宇宙から来たのではないか?などと考えてしまうが。
66 名前:デフォルトの名無しさん [2020/05/19(火) 14:27:12.72 ID:O4jzhFRD.net] Windows.hのmin、maxは困りものだよな。
67 名前:デフォルトの名無しさん mailto:sage [2020/05/19(火) 14:51:53.51 ID:oq2DQSv9.net] マクロでminmax書いているほうがどう考えてもバカだよな
68 名前:デフォルトの名無しさん mailto:sage [2020/05/19(火) 14:54:10.83 ID:oq2DQSv9.net] win32の設計とかあーバカコードだなコレってのがちらほら
69 名前:デフォルトの名無しさん mailto:sage [2020/05/19(火) 16:31:48 ID:kOq4o5Tk.net] >>67 御意
70 名前:デフォルトの名無しさん mailto:sage [2020/05/19(火) 17:47:23 ID:HCP/tGTo.net] 人類がBOOST_PREVENT_MACRO_SUBSTITUTIONから解放される日は遠い
71 名前:デフォルトの名無しさん mailto:sage [2020/05/19(火) 18:01:48 ID:0UAmioLe.net] STLの方が馬鹿。 今までのものを知らないで独自のものを書くのは簡単。 勉強もせずに独自の日記を書くようなことだから。
72 名前:デフォルトの名無しさん [2020/05/19(火) 18:23:54 ID:8HY/3oGP.net] なぜ会社を100社以上バックレたのか?働きたくない男の末路! https://www.youtube.com/watch?v=C73If3B6MXc 【遅刻早退ドタキャン癖】の絶望的な解説。社会人失格の烙印。 https://www.youtube.com/watch?v=bGarZKcC08s 【悲報】あがり症は完治しない!緊張対策よりも開き直り! https://www.youtube.com/watch?v=-jMUFZc9vRA 結婚式への参加は『社会の底辺』には地獄!非モテ手当を寄こせ! https://www.youtube.com/watch?v=oKFrGkpsP8Y 親戚の『葬式』ドタキャンで激怒された!冠婚葬祭パワハラが酷い! https://www.youtube.com/watch?v=0L-EAndCodE リボ払い借金500万円の一日!敗者復活ルーティーン https://www.youtube.com/watch?v=shJMgp6EuW8
73 名前: mailto:sage [2020/05/19(火) 18:33:01.90 ID:SLJ7GP9K.net] >>59 ちがいます、フェニキア文字由来ですよ アラビア語はセム語族の中でも後発後進国
74 名前:デフォルトの名無しさん mailto:sage [2020/05/19(火) 19:02:02.51 ID:VP2fOBMJ.net] >>72 スレチ グロ
75 名前:デフォルトの名無しさん mailto:sage [2020/05/20(水) 06:07:41 ID:8m9cjgNh.net] 関数(始点,終点)に馴染めないバカのあぶり出しだったな 関数(始点,個数)に固執してたやつらがSTLで吠え面かかされたw
76 名前:デフォルトの名無しさん mailto:sage [2020/05/20(水) 14:27:55 ID:9xAqQrOe.net] https://ideone.com/vJRbP1 ミラーラビン素数判定法を聞いて作ってるんだけど、決定性に確定させるにはここからどうしたらいいですか?
77 名前:デフォルトの名無しさん mailto:sage [2020/05/20(水) 14:30:18 ID:9xAqQrOe.net] https://ideone.com/Gq2X2N 無しだとちゃんと出るっぽいです。ということを見せておきます。
78 名前:デフォルトの名無しさん mailto:sage [2020/05/21(木) 09:22:26.84 ID:r7XP4kDE.net] >>65 ソ連で生魚にあたって、入院中に病院の天井みてたら思いついたらしいぜ
79 名前:デフォルトの名無しさん mailto:sage [2020/05/21(木) 11:21:03.35 ID:K4ggzWEW.net] 寄生虫より有毒魚かもな フグみたいな命取りなやつじゃなくバラムツくらいなら腹壊す程度で済む
80 名前:デフォルトの名無しさん mailto:sage [2020/05/21(Thu) 20:23:36 ID:U7f5mioC.net] >>75 がどれに対するレスなのか分からんが みんな単にスルーしてんだろうなこれは
81 名前:デフォルトの名無しさん mailto:sage [2020/05/22(金) 07:52:07 ID:QdrkGYuD.net] バカって素直だな ちゃんと返事しやがるw
82 名前:デフォルトの名無しさん [2020/05/22(金) 13:00:00 ID:c/ouk/Jn.net] dtmみたいな楽器を作る場合、音は何らかのライブラリを使うんでしょうか?1から作れるんですか?
83 名前:デフォルトの名無しさん mailto:sage [2020/05/22(金) 14:03:10 ID:lsrfRepl.net] は? オリジナルは普通にサンプルしたものだろ
84 名前:デフォルトの名無しさん mailto:sage [2020/05/22(金) 14:03:38 ID:lsrfRepl.net] つまり現実の楽器の音
85 名前:デフォルトの名無しさん [2020/05/22(金) 14:08:19 ID:c/ouk/Jn.net] >>83 シンセとかもサンプルしてるんですか?
86 名前:デフォルトの名無しさん mailto:sage [2020/05/22(金) 14:39:41.09 ID:TUWJypw2.net] >>85 いかにもデジタル的な音は昔はFM音源だった。 あと、ランダムノイズ的なものも利用。 今は、楽器を物理シミュレーションしている場合がある。
87 名前:デフォルトの名無しさん [2020/05/22(金) 14:47:32.08 ID:Vl9NL0Mz.net] オートチューン使うと自分の声が楽器みたいになります。
88 名前:デフォルトの名無しさん mailto:sage [2020/05/22(金) 17:31:59 ID:Sp8oG6pc.net] あるクラスのvectorに対し、個々のクラスのメンバのvectorを返すのってラムダ式でサクッと書けると思うのですが、どうやればいいですか? struct A { int i; }; vector<A> v(10); auto v_i = 〜ラムダ式〜 // サイズ10のvector<int>が返る こんな感じです
89 名前:デフォルトの名無しさん mailto:sage [2020/05/22(金) 17:34:51 ID:O4ltSfT0.net] なにいってるのかワカランゴ
90 名前:デフォルトの名無しさん mailto:sage [2020/05/22(金) 17:40:03.05 ID:Wrt3y1wd.net] [&]{ std::vector<int> ret(v.size()); std::transform(v.begin(),v.end(),ret.begin(),[](A d){return d.i;}); return ret; }
91 名前:デフォルトの名無しさん mailto:sage [2020/05/22(金) 17:42:50.71 ID:Wrt3y1wd.net] [](A){...} のところは&A::iでもいいかな
92 名前:デフォルトの名無しさん [2020/05/22(金) 17:44:13.14 ID:Czx4JK5B.net] >>88 https://ideone.com/0s5iRL
93 名前:デフォルトの名無しさん mailto:sage [2020/05/22(金) 17:59:27 ID:Sp8oG6pc.net] なるほど、std::transformを使うのですね Pythonみたいにサクッとできたらよかったのですが、ちょっとイメージと違いました ラムダ式に変な期待、というか勘違いしてました 素直にrange for文で個々にemplace_backするほうが短いし分かりやすいので、今回はそうします ありがとうございました
94 名前:デフォルトの名無しさん mailto:sage [2020/05/22(金) 18:03:14 ID:Wrt3y1wd.net] pythonだと[d.i for d in v]って所か? lambdaじゃないけど
95 名前:デフォルトの名無しさん mailto:sage [2020/05/22(金) 18:08:11 ID:UA0IlUzi.net] 内包表記だな
96 名前:デフォルトの名無しさん mailto:sage [2020/05/22(金) 19:08:51 ID:TUWJypw2.net] >>90 そういうSTLのbegin,end表記見てると pure Cのqsortの書き方を思い出してしまう。 危険なので毎回良く仕様書を確認してから慎重に使わないといけないという。
97 名前:はちみつ餃子 mailto:sage [2020/05/23(土) 00:02:55.12 ID:jzsRlJtI.net] range を使えば楽だろうと思ったんだけど view からコンテナに変換する関数は C++20 には入らなかったの? Range-v3 にある to みたいなやつ。 https://ericniebler.github.io/range-v3/group__group-range.html#ga555b843264809e3765210c42a66d3c3b
98 名前:デフォルトの名無しさん mailto:sage [2020/05/23(土) 20:12:53 ID:Ze0+o2k4.net] >>87 diva danceみたいに?
99 名前:デフォルトの名無しさん mailto:sage [2020/05/27(水) 17:21:37 ID:UmTuuMOr.net] gdbのプロンプトでsqrtとかabsみたいな数学の関数使えないんだけど使えるようにする方法ある?
100 名前:デフォルトの名無しさん mailto:sage [2020/05/27(水) 17:25:22 ID:CVgHI0+a.net] さぁ