1 名前:sage [2025/04/26(土) 10:34:58.41 ID:pbPDl6lv0.net] !extend:checked:vvvvv:1000:512 !extend:checked:vvvvv:1000:512 ↑同じ内容を3行貼り付けること 次スレは>>980 が立てること 無理なら細かく安価指定 ※前スレ C++相談室 part165 https://mevius.5ch.net/test/read.cgi/tech/1698705458/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2 名前:デフォルトの名無しさん mailto:sage [2025/04/26(土) 10:36:05.71 ID:pbPDl6lv0.net] 仲良く使ってね
3 名前:デフォルトの名無しさん mailto:sage [2025/04/26(土) 11:57:58.29 ID:9PQ55tI10.net] STLでサイズがウンタラカンタラってなくなったんだね
4 名前:デフォルトの名無しさん [2025/04/26(土) 13:02:57.57 ID:90F8pztq0.net] あれはキチガイが勝手に貼り続けてただけでテンプレでもなんでもない
5 名前:デフォルトの名無しさん [2025/04/29(火) 19:50:22.01 ID:oiFKb7iS0.net] プログラムの書き方について学ぶためのサンプルコードですが、 CならLinuxGNUやBSDなど山ほどあるけど、C++の場合は定番としてどんなものがありますか?
6 名前:デフォルトの名無しさん mailto:sage [2025/04/29(火) 20:44:07.29 ID:snW2quW50.net] C++標準ライブラリ チュートリアル&リファレンス っていう分厚い本読んどけば大体理解る
7 名前:デフォルトの名無しさん (ワッチョイ b77c-0tm6) mailto:sage [2025/04/29(火) 21:19:32.60 ID:d6I4gAkZ0.net] C++のOSSねえ 有名でコードの質がいい奴だとLLVMか?Clangも読めばコンパイラだから言語の勉強にはなるはず 規範的って意味だとBoostだけど、いきなり勧めるには技巧的で上級者向けすぎやな面白いけどね あと有名所ならOpenCVだけどあれは汚いから真似してほしくない
8 名前:デフォルトの名無しさん mailto:sage [2025/04/29(火) 23:01:06.57 ID:LJmfvcqY0.net] Open CASCADE も汚いのでお勧めしないなぁ
9 名前:デフォルトの名無しさん [2025/04/29(火) 23:56:21.35 ID:qhqmYF5L0.net] ライブラリだと各OSに対応するためのコードだったり、ヘッダーオンリーにするためのテクニックだったりで、純粋なC++プログラムの勉強として見るとノイズが多いかもしれない 実は初心者向きの良い教材ってあんまり無いかも? 中級者以上ならBoostなどは勉強になるけど、簡単ではないし
10 名前:デフォルトの名無しさん mailto:sage [2025/04/30(水) 00:21:11.63 ID:en7310Kb0.net] いろいろとフリーダムすぎてなあ そこがいいんだが たとえば、ゲーム作りたかったら既存のゲームエンジン、とか、 やりたいカテゴリか近いところの、長続きしてるところの読んでみるといいかも 答えになってないが、(自分用であれ仕事であれ)使わされるのが一番早い
11 名前:デフォルトの名無しさん mailto:sage [2025/04/30(水) 00:58:19.68 ID:TMleEpRy0.net] Windowsの電卓は平易で初心者向きかも Google系も平易な印象だけど、Googleは独自ユーティリティを多用しがちなのが難点
12 名前:はちみつ餃子 mailto:sage [2025/04/30(水) 09:16:57.03 ID:THYm3xdc0.net] C++ は言語として特定のスタイルを強制しないという方針を持っているからプロジェクトによって構成の仕方は全く違う。 適当な数個のプロジェクトを見ても数個のスタイルがわかるというだけでしょ。 どれが良いかとか言ってないでたくさん見るしか仕方ないんじゃないかな。 入門書とかいくつかの設計指南系の本くらいは読んでる? 理念抜きで結果として出来上がってるコードを見てもわけがわからんと思う。 本はたくさん読んだほうが良い。 それと C++ は今は三年ごとに規格の改定がある。 どの版を想定するかでもかなり違う。 特に大きなターニングポイントになってるのは C++11 と C++20 だと思う。 最新の GCC で特に指定しなければ C++17 として解釈されるのでこのあたりが現在の普通という感じなはず。
13 名前:デフォルトの名無しさん [2025/04/30(水) 09:52:26.68 ID:uCqRd3Swa.net] >>5 wxWidgets
14 名前:デフォルトの名無しさん [2025/04/30(水) 12:58:39.49 ID:8LRHZRl/0.net] Windows … というか Visual Studio だと今でもデフォルトは C++14 なんだよな 機能的には C++23 まで使えるのに
15 名前:デフォルトの名無しさん mailto:sage [2025/05/04(日) 16:06:14.75 ID:/Tm3kYwr0.net] 初心者スレないんですまん。 C++でvectorとsetで同じことやらすのってどうやるの? cout << vec << endl; cout << st << endl; を共通で書きたいんだけど、 template?の書き方がわかんないの
16 名前:はちみつ餃子 mailto:sage [2025/05/04(日) 18:28:39.39 ID:w7r9Yiaa0.net] >>15 きちんと諸々に配慮しようとすると面倒なんだけど本当にそれが出来ればよいだけならこんな感じで出来なくはない。 https://wandbox.org/permlink/2CaqGO3tiB7G9tCZ
17 名前:15 mailto:sage [2025/05/05(月) 16:19:33.69 ID:WDPor1X60.net] >>16 ありがとうございます。 std::endlの代わりに' '(空白)を使うことはできませんかね 図々しくごめんなさい
18 名前:はちみつ餃子 mailto:sage [2025/05/05(月) 17:57:32.37 ID:7tS1Ts+e0.net] >>17 まさに「諸々に配慮」と述べた部分がそれでね……。 ここで定義した operator<< と元からある operator<< の両方が char を受け取ることが可能なので どちらを呼び出すべきか曖昧なオーバーロード (ambiguous overload) になってしまっている。 ちゃんとやる場合はここで定義する operator<< が受け取れるのはコンテナに限定しなければならない。 型に制約を付ける真っ当な方法が入ったのは C++20 からなのでそれ以前の C++ でやろうとすると回りくどいんだよ。 C++11 でなるべく簡素に書くとしたらこんな感じかな。 https://wandbox.org/permlink/Hli0dW7vNwSICQmp
19 名前:デフォルトの名無しさん mailto:sage [2025/05/06(火) 12:29:11.51 ID:tCHDdC6b0.net] >template <class T> >auto operator<<(std::ostream& os, const T& container_object) > -> typename std::enable_if<!!sizeof(begin(std::declval<T>()) != end(std::declval<T>())), std::ostream&>::type { 横から何じゃこりゃw
20 名前:はちみつ餃子 mailto:sage [2025/05/06(火) 12:35:30.96 ID:SvTeM3j90.net] declval は要らんな。 もっとキッチリしたほうがいいのか簡素にしようか迷ってちょっと変な感じになってる……。
21 名前:デフォルトの名無しさん mailto:sage [2025/05/06(火) 13:03:38.40 ID:tCHDdC6b0.net] >>20 いやいや非難ではなく 俺が知っているC++じゃないw - operatorの前のautoは何ぞ? - !!演算子?
22 名前:はちみつ餃子 mailto:sage [2025/05/06(火) 13:42:19.73 ID:SvTeM3j90.net] >>21 関数名の前に auto を書くと仮引数の後ろに返却値の型を書けるようになる。 つまり -> から { までのところに書いてるのが返却値の型。 従来の書き方では関数の仮引数を返却値の型を決定する文脈では使えないというルールがある。 たとえば template<class T> decltype(e) foo(const T& e) {return e;} というようなことは出来ない。 ここで e を参照することは出来ない。 後置では返却値の型を書くところで仮引数を使ってかまわない。 template<class T> auto bar(const T& e) -> decltype(e) {return e;} ってのはアリ。 この場合の auto は返却値の型を後置するというマークってことね。 後置にする必要がなくても後置で一貫させてるプロジェクトもたぶん結構ある。 auto がこのような用途で使えるようになったのは C++11 からなのでもう結構浸透してると思うんだけど、全く見たことないの? !! は ! をふたつ並べてるだけ。 bool にキャストする代わりに使うイディオムなんだけど見づらいからやめたほうがよいという人も多い。
23 名前:デフォルトの名無しさん mailto:sage [2025/05/06(火) 14:29:32.39 ID:tCHDdC6b0.net] >>22 解説を有難うございます 返り値を後置する記法のアドバンテージが分かりました >>18 は返り値を後置にしてるけどもこれは必須ではないということね !!も分かりました(g++-12はなしで通ります)
24 名前:はちみつ餃子 mailto:sage [2025/05/06(火) 16:07:03.30 ID:SvTeM3j90.net] >>23 > !!も分かりました(g++-12はなしで通ります) 非型テンプレートパラメータで size_t (sizeof の結果) から bool への変換 (縮小変換) は認められていないはず…… ……と思ったらこれには例外があってコンパイル時計算の文脈で実際には情報が欠落しないなら OK。 つまり整数の 0 か 1 のときに限り (型の大きさとしては小さくなる変換であっても) bool に変換が可能。
25 名前:デフォルトの名無しさん mailto:sage [2025/05/06(火) 17:28:20.12 ID:GbYxwNEQ0.net] 非0ならtrueやないんか
26 名前:はちみつ餃子 mailto:sage [2025/05/06(火) 18:05:53.77 ID:SvTeM3j90.net] >>25 せやで。 こういうときは変換されない。 template<bool num> class foo {}; int main(void) { foo<2> bar; } 通常の暗黙の変換で許されていても非型テンプレートパラメタでは縮小変換はされないので↓みたいなのも駄目。 template<unsigned char num> class foo {}; int main(void) { foo<1000> bar; }
27 名前:15 mailto:sage [2025/05/06(火) 18:35:49.00 ID:jhNAw2EC0.net] >>18 重ね重ねありがとうございます。 なんとか理解してみます。 C++20だとどうなります? 一応、C++の新機能ってぺージ見たんですけど、よくんからなくて
28 名前:デフォルトの名無しさん mailto:sage [2025/05/06(火) 18:36:01.85 ID:nZOyiL0Ra.net] enable_ifは便利だけど使ったら負け感が半端無い
29 名前:はちみつ餃子 mailto:sage [2025/05/06(火) 19:26:25.22 ID:SvTeM3j90.net] この場合は enable_if は本来の意味で使ってないしな。
30 名前:はちみつ餃子 mailto:sage [2025/05/06(火) 20:07:39.20 ID:SvTeM3j90.net] >>27 こんな感じかな。 https://wandbox.org/permlink/IgEx8yRTGMZ2qr6U C++20 からはイテレータの概念も再編されて range という概念で扱うのが好ましいということになり、コンテナは range の一種だったことになった。 コンテナの中のここからここまでという範囲を表すものを中心にした考え方で、コンテナ自身も range だし、コンテナの除き窓のような view も range 。 Rust とか Go で言うスライスみたいなもん。 で、テンプレート引数として受け取った T が std::ranges::range の制約を満たすものなんやでという制約を入れることによってそうじゃないものはマッチしないように出来るし、 他の operator<< の候補にマッチするものがあるのならそっちが選ばれるようになる。
31 名前:15 mailto:sage [2025/05/06(火) 21:47:53.45 ID:jhNAw2EC0.net] >>30 ありがとうございます。 rangeはときどき見てたんですけど、ぱっと見あんまり必要性がわからなかったんですけど、こういう理由があったんですね。 これから時間があるときは、rangeを意識して書きたいと思います。 ありがとうございました
32 名前:デフォルトの名無しさん mailto:sage [2025/05/07(水) 09:06:41.19 ID:pa9hjTXM0.net] >>29 ostreamあんま詳しくないので本来の意味じゃないってのが良くわからんかった コンテナでなければ弾くようにしてるんだと思うけどsizeofで括ってるのは式自体が評価されないようにするため?
33 名前:はちみつ餃子 mailto:sage [2025/05/07(水) 09:38:53.26 ID:jrPMMEx+0.net] >>32 そう。 実態としては sizeof の中の式が成立するかどうかだけが判定基準になってる。 sizeof が 0 を返すことはあり得ないわけだし sizeof の中の式が成立しないなら enable_if で判定する以前に弾かれるわけなので enable_if は判定の役に立ってない。 式を書く場所があるならなんでもよかったんだけど最終的には ostream& になってもらわないといけないので enable_if が楽だったというだけ。
34 名前:デフォルトの名無しさん mailto:sage [2025/05/07(水) 09:53:44.11 ID:zHwjwbR2p.net] あーなるほど、意味がわかった ありがとう
35 名前:デフォルトの名無しさん mailto:sage [2025/05/07(水) 22:31:24.20 ID:OFqp/W1O0.net] vectorって、 宣言時に、要素数と初期値を設定できないっけ? 気持ちとしては、、 ↓ vector<int> my_data(3) = { 6, 8, 44 };
36 名前:はちみつ餃子 mailto:sage [2025/05/07(水) 22:42:31.19 ID:jrPMMEx+0.net] >>35 できない。 そうしたい理由としては指定した個数分の要素が間違いなく与えられているようにってこと?
37 名前:デフォルトの名無しさん mailto:sage [2025/05/07(水) 22:57:31.27 ID:F57QgFhN0.net] >>35 arrayはそれに近いな array<int, 3> my_data = {6, 8, 44};
38 名前:はちみつ餃子 mailto:sage [2025/05/07(水) 23:14:20.16 ID:jrPMMEx+0.net] >>35 与えている要素の個数に間違いがないことを確実にしたいというのが目的だとしたらこういう関数を定義するのはどうだろう。 https://wandbox.org/permlink/QBu2dsYRUkrMmLzC
39 名前:デフォルトの名無しさん mailto:sage [2025/05/07(水) 23:14:51.64 ID:OFqp/W1O0.net] >>36 まあ、普通の配列なら、 int my_data[3]= { 6, 8, 44 }; ってできるので。 できても問題は無さそうだけど…
40 名前:はちみつ餃子 mailto:sage [2025/05/07(水) 23:25:35.43 ID:jrPMMEx+0.net] >>39 文法の一貫性としてということ? 配列をそう定義したときの [3] は型の一部であってコンストラクタに渡す値ではないから……。 配列をそう書けるのが例外的、変則的な措置だと考えるべきだと思う。
41 名前:デフォルトの名無しさん (JP 0Hee-L4A6) [2025/05/08(木) 00:57:15.98 ID:4oP42WaSH.net] >>20 decvalは要る。お前さんは数値計算知らん。 型拡張で重要になるぞ。
42 名前:デフォルトの名無しさん [2025/05/08(木) 01:50:59.67 ID:4oP42WaSH.net] はちみつさんはC++仕様策定委員なの? 委員会でそんな発言されたら困るよ。 今さらtraitsみたいなトリック 使いたくないよ。
43 名前:はちみつ餃子 mailto:sage [2025/05/08(木) 02:01:35.71 ID:aAWkv5hi0.net] >>41 何を言ってるんだ? >>18 で declval を使ったのが無意味だという話をしてるんだぞ。
44 名前:デフォルトの名無しさん mailto:sage [2025/05/08(木) 03:34:36.76 ID:JGiTQ1yK0.net] >>38 これでできましたね。 (... && is_convertible_v<U, T>)ってなんでしょうか? (可変個引数Uが存在してって意味?)
45 名前:はちみつ餃子 mailto:sage [2025/05/08(木) 08:59:22.62 ID:aAWkv5hi0.net] >>44 それは特に裏の意味はないよ。 全ての U が T に変換可能 (convertible) であるという制約を入れてる。
46 名前:デフォルトの名無しさん [2025/05/08(木) 11:19:39.64 ID:4oP42WaSH.net] >>43 そうでしたか。すみませんでした。
47 名前:デフォルトの名無しさん (ワッチョイ 1202-mpUa) mailto:sage [2025/05/08(木) 19:02:02.59 ID:JGiTQ1yK0.net] >>45 そうでしたか 難しいですね…
48 名前:はちみつ餃子 mailto:sage [2025/05/08(木) 20:09:36.08 ID:aAWkv5hi0.net] >>47 難しい (分かり難い) と感じる部分を具体的に説明できる?
49 名前:デフォルトの名無しさん mailto:sage [2025/05/09(金) 02:43:45.34 ID:gpRG314Y0.net] templeteでフォボナっちみたいのって、 実際に何に使うのかね…? template<int n> struct fibonacci { static constexpr int value = fibonacci<n-1>::value + fibonacci<n-2>::value; };
50 名前:デフォルトの名無しさん [2025/05/09(金) 07:07:00.89 ID:+l+evNW70.net] もう見抜けない、最先端のAIディープフェイク動画は心臓の鼓動まで再現、判別が困難に 2025-05-08 https://karapaia.com/archives/507859.html
51 名前:はちみつ餃子 mailto:sage [2025/05/09(金) 09:22:27.26 ID:NaCqAF6G0.net] >>49 暗号関係などで用途はあると思うけど今なら関数 (costexpr) で定義したほうがいいな。
52 名前:デフォルトの名無しさん mailto:sage [2025/05/09(金) 11:24:03.52 ID:3QJ66PDO0.net] >>49 定数の計算を全部コンパイル時にやっちまおうぜというのが流行った時期があった それでtemplateの目的外使用が過ぎたためにconstexprができた
53 名前:デフォルトの名無しさん mailto:sage [2025/05/09(金) 15:56:00.48 ID:z5xnEJE80.net] ボレロさんが生きてた頃に比べるとつまんなくなったなconstexprさん
54 名前:デフォルトの名無しさん mailto:sage [2025/05/09(金) 16:41:56.66 ID:gpRG314Y0.net] >>51 はちみつ餃子さんは何系のプログラマーでしょうか? 組み込み系?
55 名前:デフォルトの名無しさん mailto:sage [2025/05/09(金) 16:43:37.53 ID:gpRG314Y0.net] >>52 ところで、 なんでコンパイラ側で、constを自動でconstexpに最適化しないんですかね…?
56 名前:はちみつ餃子 mailto:sage [2025/05/09(金) 16:47:27.64 ID:U8gSLCWq0.net] constexpr に特有のトリックは constexpr の制限故に生まれたのだから緩和されれば気合いの入った取り組みも要らんようになる。 真っ当な進歩なので文句は言えんがつまらんというのはわかる。
57 名前:はちみつ餃子 mailto:sage [2025/05/09(金) 16:53:00.47 ID:U8gSLCWq0.net] >>55 する。 const をつけて定義する変数の初期化子が定数式であるときその変数も定数になるというルールがある。 つまり初期化子が定数式なら const 変数と constexpr 変数は同一の効果をもつ。
58 名前:デフォルトの名無しさん mailto:sage [2025/05/09(金) 20:05:51.01 ID:gpRG314Y0.net] >>57 そうでしたか まあ、そうですよね…
59 名前:デフォルトの名無しさん mailto:sage [2025/05/09(金) 20:07:04.42 ID:gpRG314Y0.net] >>53 陶芸家プログラマーか… いろんな人がいるもんですね…
60 名前:デフォルトの名無しさん [2025/05/09(金) 21:48:50.36 ID:vpEUNnGu0.net] あの熱意で平均寿命まで生きていれば・・・
61 名前:はちみつ餃子 mailto:sage [2025/05/10(土) 12:01:09.18 ID:Mv0kFcWv0.net] 定数まわりはググったり ChatGPT に質問したりしても理解しにくいんじゃないかな。 「定数」という言葉が違う意味で使われていてそれらがひとつの解説に混在したりするのが意味不明になる原因だと思う。 ・なんか決め打ちの値という意味 ・変更できない変数の意味 ・C++ 規格用語としての定数の意味
62 名前:デフォルトの名無しさん mailto:sage [2025/05/10(土) 12:14:05.67 ID:12iOKYOza.net] constant number fixed number magic number
63 名前:デルフォトの名無し mailto:mage [2025/05/11(日) 19:59:16.83 ID:8gkdAC4l0.net] RustのCargo的なツールってC++にありますか...? ビルド、依存関係管理等が全部できるオールインワンなやつです。
64 名前:はちみつ餃子 mailto:sage [2025/05/11(日) 20:12:58.46 ID:krziBUoq0.net] >>63 しいていえば Conan が近いと思うがビルド自体は指定したビルドツールに下請けさせる構造になってる。 プロジェクトのビルドをする仕組みが多用なので既存のプロジェクトを Conan の管理化に入れるといった状況を考えると C++ 的にはこうなるのは仕方がない……。 C/C++ では OS (ディストリビューション) のパッケージマネージャでライブラリを管理するのが普通だったので言語の側で統括的に扱うツールという文化が欠けてる。
65 名前:デルフォトの名無し mailto:mage [2025/05/11(日) 20:18:54.81 ID:8gkdAC4l0.net] >>64 そうなんですね... 今RustやってるんですけどC++も触ってみたいなと思って良さげなのないかなと探してるところなんです... おすすめのビルドツールは何がありますか?
66 名前:デフォルトの名無しさん mailto:sage [2025/05/11(日) 20:21:24.40 ID:WWvVAeL50.net] OS提供のヘッダーファイルと連携しないといけないからね rustだってOSのAPIとして使われるようになったら今の形のままでは済まされないはず
67 名前:デフォルトの名無しさん mailto:sage [2025/05/11(日) 20:25:47.11 ID:8gkdAC4l0.net] >>66 OS提供のヘッダーファイル? どんなのがあるんですかね...
68 名前:デフォルトの名無しさん mailto:sage [2025/05/11(日) 20:34:00.81 ID:WWvVAeL50.net] >>67 Windows SDKとかUNIX系なら/usr/includeにあるやつとかMacだと/Library/Developerとか ひとつの環境に複数バージョン同時に入ってたりパスの規則もベンダーごとにばらばらだったり独自の拡張構文が使われてたりで処理系側のツールで吸収しきれるものではなく 自然>>64 も言ってるOS側の管理に委ねるという方向に
69 名前:デフォルトの名無しさん mailto:sage [2025/05/11(日) 20:42:23.09 ID:8gkdAC4l0.net] >>68 えぇ...そうなんですか... C++にはcargoみたいな便利ツールはない... OS管理...(´・ω・)
70 名前:デフォルトの名無しさん mailto:sage [2025/05/11(日) 20:58:44.05 ID:WWvVAeL50.net] 別に便利ツール自体がないわけではなく、ライブラリはOS側のパッケージマネージャやcanonやバージョン管理ツールの機能等で揃えて ビルドはcmakeというメタビルドツールで各OSの持つビルドツール向けの入力ファイルを生成したりということはする 統一感には欠けるしばらばらのものを組み合わせてるから躓く可能性もずっと高いけども
71 名前:デフォルトの名無しさん mailto:sage [2025/05/11(日) 21:11:16.07 ID:8gkdAC4l0.net] >>70 バラバラなのはちょっとまずいですね... なんか良さげなのないもんですかね...
72 名前:デフォルトの名無しさん [2025/05/11(日) 21:16:18.20 ID:/xxB2yrb0.net] あくまで個人の意見だけど、パッケージマネージャーは conan より vcpkg の方が好き conan はそれ自体が Python のパッケージなので、「リポジトリのルートに Python の仮想環境 (venv) を作る → 仮想環境にConan をインストールする → C++ のライブラリを管理する」の流れになるのがね…って気持ちになるかも どちらにせよ conan や vcpkg は外部ライブラリの管理だけに使うもので、ビルドは cmake を使う C++だとライブラリ間に依存関係があるものは少ないから、 Git のサブモジュールを使うとか、 clone したソースファイルをそのままプロジェクトに入れるとかする方法もある (綺麗ではないけど) PythonのpipやRustのCargoがやってるような、バージョンを考慮した依存の解決はしなくて済むことが多い
73 名前:はちみつ餃子 mailto:sage [2025/05/11(日) 21:17:42.17 ID:krziBUoq0.net] 色々と事情はあるけどファイル数個で収まる程度 (初心者が書く程度) のプログラムならビルドツールがどうこう考える必要もないよ。コンパイラドライバを呼び出せばそれで終わり。 ファイルが増えたりサポートする実行環境が増えて手に負えなくなったときに続きを考えたら良い。
74 名前:デフォルトの名無しさん [2025/05/11(日) 21:17:53.90 ID:/xxB2yrb0.net] リンク先の画像見てのようなミームがあるけど、残念ながらC++は割と本当にこの通りなんだよね… Rustがめっちゃ楽なのはよく分かる https://www.reddit.com/r/ProgrammerHumor/comments/1hnfuvk/whyidliketoavoidusingcpp/
75 名前:デフォルトの名無しさん mailto:sage [2025/05/11(日) 22:02:05.72 ID:WWvVAeL50.net] 自分の手元でさえビルドできればそれでいいなら統合開発環境に任せてしまう手も。何も考えなくても1クリックで最適にビルドしてくれるよ
76 名前:デフォルトの名無しさん mailto:sage [2025/05/11(日) 22:18:31.15 ID:jee+W1o20.net] c++やるなら苦労経験した方がええやろ
77 名前:デフォルトの名無しさん mailto:sage [2025/05/12(月) 11:10:35.53 ID:zCv6/zTua.net] >>74 まるでCargoでbuildが絶対失敗しないかの様な言い草ですね
78 名前:デフォルトの名無しさん mailto:sage [2025/05/12(月) 11:11:51.96 ID:zCv6/zTua.net] >>75 C++が初めてならそれで良いと思う
79 名前:デフォルトの名無しさん mailto:sage [2025/05/12(月) 11:12:33.37 ID:pU5GgKWjM.net] >>77 少なくとも意味不明なリンカエラーは滅多にない
80 名前:デフォルトの名無しさん mailto:sage [2025/05/12(月) 11:24:50.73 ID:zCv6/zTua.net] 「意味不明」は属人的な基準だけどね
81 名前:デフォルトの名無しさん mailto:sage [2025/05/12(月) 12:54:58.68 ID:jJ1cTx1K0.net] cargoがC++の抱えている問題を解決するなら作れば良いじゃないの? 違うと思うがね
82 名前:はちみつ餃子 mailto:sage [2025/05/12(月) 14:54:37.62 ID:xBm4wuRJ0.net] https://xkcd.com/927/
83 名前:デフォルトの名無しさん mailto:sage [2025/05/12(月) 15:05:31.72 ID:zCv6/zTua.net] これは最近観た覚えがあるな https://imgs.xkcd.com/comics/circuit_diagram.png 電気電子板かな
84 名前:デフォルトの名無しさん [2025/05/13(火) 07:33:15.99 ID:2aiUGKe50.net] 幻聴で半分人間半分AIと話していたので 1 私に成りすまして話しているようにいさせている 2 成りすましの声でも身体攻撃の部分は私本人も同じ状態に陥っている 3 犯人が使用していたとしても清廉潔白の人物のように見せれる 【2025年最新】自然な声の音声読み上げソフト5選!AI技術で ... https://ondoku3.com/ja/post/natural-voice-software/ ※インストール不要で無料で5000文字まで複数声質の音声合成エンジンで読み上げ可能 ローカルで各種AIモデルを実行できる無料ソフト「llama.cpp」がマルチモーダル入力をサポートし画像の説明などが可能に 2025年05月12日 20時00分 https://gigazine.net/news/20250512-llama-cpp--multimodal-vision-support/ >>llama.cppの詳細情報は以下のリンク先で公開されており、ソースコードやインストール手順などを確認できます。 ※画像を認識させてテキスト入力が可能 ローカルでAIを動かして「コード生成」「ウェブ上の情報収集」「ファイル検索」などの操作を実行できるAIエージェント「AgenticSeek」、無料で使えてプライバシーも守れるのが強み 2025年05月05日 16時02分 https://gigazine.net/news/20250505-agenticseek-local-ai-agent >>AgenticSeekのインストール手順は以下のページにまとまっています。 ※複数サイトからレポート作成可能
85 名前:デフォルトの名無しさん [2025/05/14(水) 13:33:00.86 ID:tetNkY+Z0.net] AIチャットボットに「偽の記憶」を植え付けることで仮想通貨を盗む攻撃が報告される 2025年05月14日 12時00分 https://gigazine.net/news/20250514-web3-ai-agents-with-fake-memories/ >>プリンストン大学の研究チーム 過去に流通した誤情報に接触した人の半分が「正しい情報」と思っていて25%が何らかの手段で拡散している 2025年05月14日 11時25分 https://gigazine.net/news/20250514-fake-news/ >>総務省
86 名前:デフォルトの名無しさん [2025/05/14(水) 17:34:43.84 ID:Ga6mti+e0.net] 5次方程式に新公式を発見:ルートを超える新理論 2025.05.14 17:05:56 WEDNESDAY https://nazology.kusuguru.co.jp/archives/177496 >>オーストラリアのニューサウスウェールズ大学(UNSW)で行われた研究 プログらまーも覚えるとよい 125年越しに解決したかもしれない「ヒルベルトの第6問題」とは? 2025年05月10日 15時00分 https://gigazine.net/news/20250510-hilberts-6th-problem-solved/
87 名前:デフォルトの名無しさん [2025/05/15(木) 13:13:35.39 ID:CpSZjLrm0.net] Googleが開発した進化的AI「AlphaEvolve」は未知のアルゴリズムや未解決数学問題の新解法を発見可能、すでにGoogle内部ではAI開発やチップ設計の効率化に活用されている 2025年05月15日 11時06分 https://gigazine.net/news/20250515-google-ai-algorithm-alphaevolve/
88 名前:デフォルトの名無しさん mailto:sage [2025/05/15(木) 19:21:02.56 ID:7jfRA8C50.net] >>86 スレチ
89 名前:デフォルトの名無しさん [2025/05/17(土) 00:38:48.40 ID:+G5mL4qu0.net] C++でラムダ式をコンストラクタで受け取るにはどうすればいいの? std::function使ってもエラーでる
90 名前:デフォルトの名無しさん mailto:sage [2025/05/17(土) 07:04:56.33 ID:S33C25YC0.net] コード書けや無能
91 名前:デフォルトの名無しさん [2025/05/17(土) 07:06:28.15 ID:XtHNXmhB0.net] 科学 + 5ch 20種近くも検出された新しい「量子状態」は、量子コンピューター飛躍の鍵になるか [すらいむ★] 2025/05/16(金) 22:52:02.48 egg.5ch.net/test/read.cgi/scienceplus/1747403522/ >>これまで理論上の存在と考えられてきた量子状態の検出に、国際研究チームが初めて成功した。量子情報の保存や論理演算の基盤として応用することで、量子コンピューターの未来を変える鍵となるかもしれない。 ※犯罪の手口が判明するのか
92 名前:デフォルトの名無しさん mailto:sage [2025/05/17(土) 12:05:47.87 ID:CPA3cOCvp.net] >>89 functionで受け取れないなら関数の型が違う それかtemplate <typename T>で受け取れ
93 名前:はちみつ餃子 mailto:sage [2025/05/17(土) 12:36:55.07 ID:Z8hx0US+0.net] >>89 なにか間違っているのだからどこが間違っているのか調べるために充分な情報が提示されないと応えられない。 質問者は理解できてきないから質問しているので質問の内容や前提が根本からあてにならず、とにもかくにもまずはコードとエラーメッセージを出してもらわないと始まらない。 そのときなるべく抜粋せずに全て出すのが望ましい。
94 名前:デフォルトの名無しさん mailto:sage [2025/05/18(日) 00:04:05.67 ID:2dlUsl+c0.net] >>89 #include <functional> #include <iostream> struct Hoge { Hoge (const std::function <void ()> &f) {f ();} }; int main () { Hoge hoge {[] {std::cout << "hoge\n";}}; return 0; } とか?
95 名前:デフォルトの名無しさん [2025/05/18(日) 01:52:18.18 ID:1CgD4IwZ0.net] >>94 自分の場合は7行目で Hoge hoge = [] {std::cout << "hoge\n";}; のように書いてエラーとなってます。 このCのような初期化構文はコンストラクタの呼び出しを行わないのでしょうか? ちなみにこのレスように書いたらエラーが消えました
96 名前:はちみつ餃子 mailto:sage [2025/05/18(日) 02:11:27.64 ID:NJShdjf50.net] >>95 それは直接初期化とコピー初期化の違い、そして暗黙の型変換の仕組みによる。 Hoge hoge = [] {std::cout << "hoge\n";}; と書いた場合にはこのラムダ式 (が生成するクロージャ) から Hoge 型へ暗黙の型変換が試みられるが、そのような変換コンストラクタはないので失敗する。 暗黙の型変換は原則として多段には行われないので クロージャ → Hoge の変換を探すけど無いってことね。 クロージャ → std::function → Hoge という段階を踏んでくれない。 直接初期化の形式で書いた場合に起こる暗黙の変換は クロージャ → std::function だけだから通る。
97 名前:デフォルトの名無しさん [2025/05/18(日) 03:38:58.54 ID:qmGnnS9ca.net] copy constructor move constructor どっちも描こう
98 名前:デフォルトの名無しさん mailto:sage [2025/05/18(日) 06:17:53.81 ID:PyWYGSbA0.net] 1変数コンストラクタはexplicit付けよう
99 名前:デフォルトの名無しさん [2025/05/18(日) 07:46:21.58 ID:AGGexLjT0.net] 企業献金、結論先送りへ 自公国法案、提出取りやめ [蚤の市★] 2025/05/17(土) 21:17:14.36 https://asahi.5ch.net/test/read.cgi/newsplus/1747484234/ 全国1万1155の企業・団体の政治献金「97%」が自民へ、シンクタンク調査 [おっさん友の会★] 2025/05/14(水) 11:12:39.51 https://asahi.5ch.net/test/read.cgi/newsplus/1747188759/
100 名前:デフォルトの名無しさん [2025/05/18(日) 10:18:11.24 ID:rfn3+MVd0.net] これは任意の方苦に向けて電波攻撃可能ということでしょうか? プログラムの改造で下記が可能になるのでしょうか 「Xperia」が電波法違反、ソニーに行政指導--総務省 2024年12月13日 15時23分 https://japan.cnet.com/article/35227306/ >>スマートフォンにおいて「工事設計認証を受けた工事設計にない空中線を使用しての電波発射が可能な仕様となっている状態にあった事実が認められた」という。