C++相談室 part166 (607レス)
C++相談室 part166 http://mevius.5ch.net/test/read.cgi/tech/1745631298/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
1: sage (ワッチョイ 8732-NXaD) [] 2025/04/26(土) 10:34:58.41 ID:pbPDl6lv0 !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 http://mevius.5ch.net/test/read.cgi/tech/1745631298/1
2: デフォルトの名無しさん (ワッチョイ 1132-NXaD) [sage] 2025/04/26(土) 10:36:05.71 ID:pbPDl6lv0 仲良く使ってね http://mevius.5ch.net/test/read.cgi/tech/1745631298/2
3: デフォルトの名無しさん (ワッチョイ b501-4ocp) [sage] 2025/04/26(土) 11:57:58.29 ID:9PQ55tI10 STLでサイズがウンタラカンタラってなくなったんだね http://mevius.5ch.net/test/read.cgi/tech/1745631298/3
4: デフォルトの名無しさん (ワッチョイ 797c-VXNn) [] 2025/04/26(土) 13:02:57.57 ID:90F8pztq0 あれはキチガイが勝手に貼り続けてただけでテンプレでもなんでもない http://mevius.5ch.net/test/read.cgi/tech/1745631298/4
5: デフォルトの名無しさん (ワッチョイ bfda-OmX0) [] 2025/04/29(火) 19:50:22.01 ID:oiFKb7iS0 プログラムの書き方について学ぶためのサンプルコードですが、 CならLinuxGNUやBSDなど山ほどあるけど、C++の場合は定番としてどんなものがありますか? http://mevius.5ch.net/test/read.cgi/tech/1745631298/5
6: デフォルトの名無しさん (ワッチョイ 9ff0-8SS3) [sage] 2025/04/29(火) 20:44:07.29 ID:snW2quW50 C++標準ライブラリ チュートリアル&リファレンス っていう分厚い本読んどけば大体理解る http://mevius.5ch.net/test/read.cgi/tech/1745631298/6
7: デフォルトの名無しさん (ワッチョイ b77c-0tm6) [sage] 2025/04/29(火) 21:19:32.60 ID:d6I4gAkZ0 C++のOSSねえ 有名でコードの質がいい奴だとLLVMか?Clangも読めばコンパイラだから言語の勉強にはなるはず 規範的って意味だとBoostだけど、いきなり勧めるには技巧的で上級者向けすぎやな面白いけどね あと有名所ならOpenCVだけどあれは汚いから真似してほしくない http://mevius.5ch.net/test/read.cgi/tech/1745631298/7
8: デフォルトの名無しさん (ワッチョイ d7d7-7NrX) [sage] 2025/04/29(火) 23:01:06.57 ID:LJmfvcqY0 Open CASCADE も汚いのでお勧めしないなぁ http://mevius.5ch.net/test/read.cgi/tech/1745631298/8
9: デフォルトの名無しさん (ワッチョイ b720-xasm) [] 2025/04/29(火) 23:56:21.35 ID:qhqmYF5L0 ライブラリだと各OSに対応するためのコードだったり、ヘッダーオンリーにするためのテクニックだったりで、純粋なC++プログラムの勉強として見るとノイズが多いかもしれない 実は初心者向きの良い教材ってあんまり無いかも? 中級者以上ならBoostなどは勉強になるけど、簡単ではないし http://mevius.5ch.net/test/read.cgi/tech/1745631298/9
10: デフォルトの名無しさん (ワッチョイ 9f07-VpId) [sage] 2025/04/30(水) 00:21:11.63 ID:en7310Kb0 いろいろとフリーダムすぎてなあ そこがいいんだが たとえば、ゲーム作りたかったら既存のゲームエンジン、とか、 やりたいカテゴリか近いところの、長続きしてるところの読んでみるといいかも 答えになってないが、(自分用であれ仕事であれ)使わされるのが一番早い http://mevius.5ch.net/test/read.cgi/tech/1745631298/10
11: デフォルトの名無しさん (ワッチョイ bf79-FBhq) [sage] 2025/04/30(水) 00:58:19.68 ID:TMleEpRy0 Windowsの電卓は平易で初心者向きかも Google系も平易な印象だけど、Googleは独自ユーティリティを多用しがちなのが難点 http://mevius.5ch.net/test/read.cgi/tech/1745631298/11
12: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ b732-Dk0z) [sage] 2025/04/30(水) 09:16:57.03 ID:THYm3xdc0 C++ は言語として特定のスタイルを強制しないという方針を持っているからプロジェクトによって構成の仕方は全く違う。 適当な数個のプロジェクトを見ても数個のスタイルがわかるというだけでしょ。 どれが良いかとか言ってないでたくさん見るしか仕方ないんじゃないかな。 入門書とかいくつかの設計指南系の本くらいは読んでる? 理念抜きで結果として出来上がってるコードを見てもわけがわからんと思う。 本はたくさん読んだほうが良い。 それと C++ は今は三年ごとに規格の改定がある。 どの版を想定するかでもかなり違う。 特に大きなターニングポイントになってるのは C++11 と C++20 だと思う。 最新の GCC で特に指定しなければ C++17 として解釈されるのでこのあたりが現在の普通という感じなはず。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/12
13: デフォルトの名無しさん (アウアウウー Sa1b-Dl8r) [] 2025/04/30(水) 09:52:26.68 ID:uCqRd3Swa >>5 wxWidgets http://mevius.5ch.net/test/read.cgi/tech/1745631298/13
14: デフォルトの名無しさん (ワッチョイ b720-xasm) [] 2025/04/30(水) 12:58:39.49 ID:8LRHZRl/0 Windows … というか Visual Studio だと今でもデフォルトは C++14 なんだよな 機能的には C++23 まで使えるのに http://mevius.5ch.net/test/read.cgi/tech/1745631298/14
15: デフォルトの名無しさん (ワッチョイ afaa-hOut) [sage] 2025/05/04(日) 16:06:14.75 ID:/Tm3kYwr0 初心者スレないんですまん。 C++でvectorとsetで同じことやらすのってどうやるの? cout << vec << endl; cout << st << endl; を共通で書きたいんだけど、 template?の書き方がわかんないの http://mevius.5ch.net/test/read.cgi/tech/1745631298/15
16: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6332-x8bn) [sage] 2025/05/04(日) 18:28:39.39 ID:w7r9Yiaa0 >>15 きちんと諸々に配慮しようとすると面倒なんだけど本当にそれが出来ればよいだけならこんな感じで出来なくはない。 https://wandbox.org/permlink/2CaqGO3tiB7G9tCZ http://mevius.5ch.net/test/read.cgi/tech/1745631298/16
17: 15 (ワッチョイ afaa-hOut) [sage] 2025/05/05(月) 16:19:33.69 ID:WDPor1X60 >>16 ありがとうございます。 std::endlの代わりに' '(空白)を使うことはできませんかね 図々しくごめんなさい http://mevius.5ch.net/test/read.cgi/tech/1745631298/17
18: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6332-x8bn) [sage] 2025/05/05(月) 17:57:32.37 ID:7tS1Ts+e0 >>17 まさに「諸々に配慮」と述べた部分がそれでね……。 ここで定義した operator<< と元からある operator<< の両方が char を受け取ることが可能なので どちらを呼び出すべきか曖昧なオーバーロード (ambiguous overload) になってしまっている。 ちゃんとやる場合はここで定義する operator<< が受け取れるのはコンテナに限定しなければならない。 型に制約を付ける真っ当な方法が入ったのは C++20 からなのでそれ以前の C++ でやろうとすると回りくどいんだよ。 C++11 でなるべく簡素に書くとしたらこんな感じかな。 https://wandbox.org/permlink/Hli0dW7vNwSICQmp http://mevius.5ch.net/test/read.cgi/tech/1745631298/18
19: デフォルトの名無しさん (ワッチョイ a701-uYIY) [sage] 2025/05/06(火) 12:29:11.51 ID:tCHDdC6b0 >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 http://mevius.5ch.net/test/read.cgi/tech/1745631298/19
20: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6332-6RYV) [sage] 2025/05/06(火) 12:35:30.96 ID:SvTeM3j90 declval は要らんな。 もっとキッチリしたほうがいいのか簡素にしようか迷ってちょっと変な感じになってる……。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/20
21: デフォルトの名無しさん (ワッチョイ a701-uYIY) [sage] 2025/05/06(火) 13:03:38.40 ID:tCHDdC6b0 >>20 いやいや非難ではなく 俺が知っているC++じゃないw - operatorの前のautoは何ぞ? - !!演算子? http://mevius.5ch.net/test/read.cgi/tech/1745631298/21
22: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6332-x8bn) [sage] 2025/05/06(火) 13:42:19.73 ID:SvTeM3j90 >>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 にキャストする代わりに使うイディオムなんだけど見づらいからやめたほうがよいという人も多い。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/22
23: デフォルトの名無しさん (ワッチョイ a701-uYIY) [sage] 2025/05/06(火) 14:29:32.39 ID:tCHDdC6b0 >>22 解説を有難うございます 返り値を後置する記法のアドバンテージが分かりました >>18は返り値を後置にしてるけどもこれは必須ではないということね !!も分かりました(g++-12はなしで通ります) http://mevius.5ch.net/test/read.cgi/tech/1745631298/23
24: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6332-x8bn) [sage] 2025/05/06(火) 16:07:03.30 ID:SvTeM3j90 >>23 > !!も分かりました(g++-12はなしで通ります) 非型テンプレートパラメータで size_t (sizeof の結果) から bool への変換 (縮小変換) は認められていないはず…… ……と思ったらこれには例外があってコンパイル時計算の文脈で実際には情報が欠落しないなら OK。 つまり整数の 0 か 1 のときに限り (型の大きさとしては小さくなる変換であっても) bool に変換が可能。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/24
25: デフォルトの名無しさん (ワッチョイ 1279-k14q) [sage] 2025/05/06(火) 17:28:20.12 ID:GbYxwNEQ0 非0ならtrueやないんか http://mevius.5ch.net/test/read.cgi/tech/1745631298/25
26: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6332-x8bn) [sage] 2025/05/06(火) 18:05:53.77 ID:SvTeM3j90 >>25 せやで。 こういうときは変換されない。 template<bool num> class foo {}; int main(void) { foo<2> bar; } 通常の暗黙の変換で許されていても非型テンプレートパラメタでは縮小変換はされないので↓みたいなのも駄目。 template<unsigned char num> class foo {}; int main(void) { foo<1000> bar; } http://mevius.5ch.net/test/read.cgi/tech/1745631298/26
27: 15 (ワッチョイ afaa-hOut) [sage] 2025/05/06(火) 18:35:49.00 ID:jhNAw2EC0 >>18 重ね重ねありがとうございます。 なんとか理解してみます。 C++20だとどうなります? 一応、C++の新機能ってぺージ見たんですけど、よくんからなくて http://mevius.5ch.net/test/read.cgi/tech/1745631298/27
28: デフォルトの名無しさん (アウアウウー Sac3-7Zak) [sage] 2025/05/06(火) 18:36:01.85 ID:nZOyiL0Ra enable_ifは便利だけど使ったら負け感が半端無い http://mevius.5ch.net/test/read.cgi/tech/1745631298/28
29: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6332-x8bn) [sage] 2025/05/06(火) 19:26:25.22 ID:SvTeM3j90 この場合は enable_if は本来の意味で使ってないしな。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/29
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 578 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.019s