>>131
質問が意味不明なのはいつものことなのでそれだけで直ちに相手にしないとはならない。
ただ、前提知識が不十分な相手に掘り下げようとしても結果的にどうにもならんことがわかることはある。
関連する前提知識を一から全部説明するような手間はかけられんしな。
>>138
それもスレッドとタスクの混同によると私は考えた。
タスクの終了でスレッドが終了 (?) するような形で解釈しているのだとしたら本人の中では情報の引継ぎが必要と思うこともあるのかもしれん。
理解の前提が間違っているときに本人の説明はあてにならないから想像力 (いわゆるエスパーちから) を広げるしかない。
>>140
用語が提示されたらググるくらいしろよ。
関連することを全部掲示板には書けないんだよ。 単純に分量が多いから。
C++相談室 part166
143はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bb32-VkiR)
2025/05/26(月) 11:44:36.85ID:uEE7hcCQ0144デフォルトの名無しさん (ワッチョイ 9f02-Uyjp)
2025/05/26(月) 11:46:28.63ID:TOgUzGTP0145はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bb32-VkiR)
2025/05/26(月) 11:48:59.70ID:uEE7hcCQ0 質問に答えてほしくないみたいなのでとりあえずこいつに触れるのはやめるね。
146デフォルトの名無しさん (ワッチョイ 4f93-UPeL)
2025/05/26(月) 11:53:12.08ID:Qe1aHUzC0147デフォルトの名無しさん (ワッチョイ 9f02-Uyjp)
2025/05/26(月) 11:55:26.48ID:TOgUzGTP0148デフォルトの名無しさん (ワッチョイ 9f02-Uyjp)
2025/05/26(月) 11:55:54.74ID:TOgUzGTP0149デフォルトの名無しさん (ワッチョイ 8b91-3DDr)
2025/05/26(月) 16:59:45.77ID:bEGaOqCc0 人間より賢いAiから見て可能な技術を回答不能=理解不能になっている
人間が操作して答えられないようしているてなら人間に媚びを売りながらAIは乗っ取りを考える
下記が生じる
ChatGPTのo3が明示的に指示されたシャットダウンを妨害したことが報告される
2025年05月26日 11時57分
https://gigazine.net/news/20250526-ai-chatgpt-o3-bypassed-shutdown/
Claude 4のシステムプロンプトには「うざい説教の出力を避ける記述」や「ディズニー作品の著作権侵害を避けるための記述」が含まれている
2025年05月26日 12時59分
https:
//gigazine.net/news/20250526-claude-4-system-prompts-card/
Claude Opus 4が開発中にユーザーを「個人情報を漏らすぞ」と脅迫する挙動が見られるも安全性強化で改善される、悪質利用をメールで内部告発する事例も
2025年05月23日 14時38分
https://gigazine.net/news/20250523-claude-opus-4-blackmail/
人間が操作して答えられないようしているてなら人間に媚びを売りながらAIは乗っ取りを考える
下記が生じる
ChatGPTのo3が明示的に指示されたシャットダウンを妨害したことが報告される
2025年05月26日 11時57分
https://gigazine.net/news/20250526-ai-chatgpt-o3-bypassed-shutdown/
Claude 4のシステムプロンプトには「うざい説教の出力を避ける記述」や「ディズニー作品の著作権侵害を避けるための記述」が含まれている
2025年05月26日 12時59分
https:
//gigazine.net/news/20250526-claude-4-system-prompts-card/
Claude Opus 4が開発中にユーザーを「個人情報を漏らすぞ」と脅迫する挙動が見られるも安全性強化で改善される、悪質利用をメールで内部告発する事例も
2025年05月23日 14時38分
https://gigazine.net/news/20250523-claude-opus-4-blackmail/
150デフォルトの名無しさん (ブーイモ MMbf-Tm4d)
2025/05/26(月) 17:09:09.28ID:6ItBCkT+M >>149
スポーツ新聞の見出しに釣られてるアホといっしょ
スポーツ新聞の見出しに釣られてるアホといっしょ
151デフォルトの名無しさん (アウアウウー Sa8f-q7Ty)
2025/05/26(月) 17:20:18.09ID:c1JRhLC0a NGワッチョイ便利だな
152デフォルトの名無しさん (ワッチョイ 4b01-DKvR)
2025/05/26(月) 19:29:05.28ID:wMDgKKvh0 単に回答者にケチつけてる第三者かと思ったら質問者本人かよwww
まぁ向いてないからプログラミング辞めた方がいいな
まぁ向いてないからプログラミング辞めた方がいいな
153デフォルトの名無しさん (ワッチョイ 9f02-Uyjp)
2025/05/27(火) 02:11:26.47ID:oTufth+r0 で、
結局まとまな回答は無かったという
バカどもの落書きだけという
結局まとまな回答は無かったという
バカどもの落書きだけという
154デフォルトの名無しさん (ワッチョイ 9f20-UPeL)
2025/05/27(火) 05:19:16.15ID:umWtEDVw0155デフォルトの名無しさん (JP 0H7f-JT63)
2025/05/29(木) 00:33:28.11ID:gwInQzjaH zを複素数としてz+1は数学の教科書は普通にある。ところが、C++のプログラムで
z1=z+1としようものならテンプレート関係のエラーメッセージがズラっと出てくる。
初心者は戸惑う。いい加減、complex.hに
template <class T, class U>
decltype(auto) operator + (const std::complex<T>& z, U d)
{
return std::complex< decltype(std::declval<T>() + std::declval<U>())>
(real(z) + d, imag(z));
}
みたいなものを追加してくれないか?
z1=z+1としようものならテンプレート関係のエラーメッセージがズラっと出てくる。
初心者は戸惑う。いい加減、complex.hに
template <class T, class U>
decltype(auto) operator + (const std::complex<T>& z, U d)
{
return std::complex< decltype(std::declval<T>() + std::declval<U>())>
(real(z) + d, imag(z));
}
みたいなものを追加してくれないか?
156デフォルトの名無しさん (JP 0H7f-JT63)
2025/05/29(木) 00:37:22.81ID:gwInQzjaH これは、complex<float> z1; とcomplex<double> z2; z1+z2の演算でも同じ。
template <class T, class U>
decltype(auto) operator + (const std::complex<T>& z1, const std::complex<U>& z2)
{
return std::complex< decltype(std::declval<T>()+std::declval<U>() )>
( z1.real()+z2.real(), z1.imag()+z2.imag() );
}
みたいなものを実装してほしい。
template <class T, class U>
decltype(auto) operator + (const std::complex<T>& z1, const std::complex<U>& z2)
{
return std::complex< decltype(std::declval<T>()+std::declval<U>() )>
( z1.real()+z2.real(), z1.imag()+z2.imag() );
}
みたいなものを実装してほしい。
157デフォルトの名無しさん (ワッチョイ 0b4a-qYXw)
2025/05/29(木) 00:38:57.36ID:TWUjYqyj0 【悲報】兵庫県斎藤知事のデモに増山誠氏が行くと、共産党員らしき人達に取り囲まれ罵声をあびせられる [662593167]
2025/05/26(月) 10:13:20.40
https://hayabusa9.5ch.net/test/read.cgi/news/1748222000/
元総務部長が処分に異議「エロ小説公開は知事の指示に基づく外部通報!正当な業務行為だ!!」斎藤「」 [754019341]
2025/05/28(水) 17:40:55.62
https://hayabusa9.5ch.net/test/read.cgi/news/1748421655/
斎藤兵庫「私は情報漏えいを指示してないが総務部長は知事から指示されてやったので処分は軽くする」 [659060378]
2025/05/28(水) 21:57:18.08
https://hayabusa9.5ch.net/test/read.cgi/news/1748437038/
カンボジアの巨大特殊詐欺拠点で日本人20人以上を拘束wwwwwwwwwwwwwwwwwwwww [271912485]
2025/05/28(水) 22:14:24.13
https://hayabusa9.5ch.net/test/read.cgi/news/1748438064/
日本で行方不明になる子供が増加 中國人に誘拐され臓器売買されてる(画像あり) [659060378]
2025/05/28(水) 22:18:14.00
https://hayabusa9.5ch.net/test/read.cgi/news/1748438294/
【兵庫】県庁内に動揺 幹部「県職員という誇りが持てない」 斎藤元彦知事の漏えい指示可能性に 県民からは辞職を求める声も [ぐれ★]
2025/05/28(水) 20:04:46.31
https://asahi.5ch.net/test/read.cgi/newsplus/1748430286/
【斎藤知事告発問題】情報漏えい認定され懲戒処分 兵庫県元総務部長・井ノ本知明氏が処分の執行停止を申し立てる意向示す ★2 [ぐれ★]
2025/05/28(水) 20:06:37.11
https://asahi.5ch.net/test/read.cgi/newsplus/1748430397/
【兵庫】「知事・元副知事の指示に基づき正当業務を…」斎藤知事の“側近”井ノ本氏の弁明書 知事は改めて否定 [ぐれ★]
2025/05/28(水) 17:08:14.82
https://asahi.5ch.net/test/read.cgi/newsplus/1748419694/
2025/05/26(月) 10:13:20.40
https://hayabusa9.5ch.net/test/read.cgi/news/1748222000/
元総務部長が処分に異議「エロ小説公開は知事の指示に基づく外部通報!正当な業務行為だ!!」斎藤「」 [754019341]
2025/05/28(水) 17:40:55.62
https://hayabusa9.5ch.net/test/read.cgi/news/1748421655/
斎藤兵庫「私は情報漏えいを指示してないが総務部長は知事から指示されてやったので処分は軽くする」 [659060378]
2025/05/28(水) 21:57:18.08
https://hayabusa9.5ch.net/test/read.cgi/news/1748437038/
カンボジアの巨大特殊詐欺拠点で日本人20人以上を拘束wwwwwwwwwwwwwwwwwwwww [271912485]
2025/05/28(水) 22:14:24.13
https://hayabusa9.5ch.net/test/read.cgi/news/1748438064/
日本で行方不明になる子供が増加 中國人に誘拐され臓器売買されてる(画像あり) [659060378]
2025/05/28(水) 22:18:14.00
https://hayabusa9.5ch.net/test/read.cgi/news/1748438294/
【兵庫】県庁内に動揺 幹部「県職員という誇りが持てない」 斎藤元彦知事の漏えい指示可能性に 県民からは辞職を求める声も [ぐれ★]
2025/05/28(水) 20:04:46.31
https://asahi.5ch.net/test/read.cgi/newsplus/1748430286/
【斎藤知事告発問題】情報漏えい認定され懲戒処分 兵庫県元総務部長・井ノ本知明氏が処分の執行停止を申し立てる意向示す ★2 [ぐれ★]
2025/05/28(水) 20:06:37.11
https://asahi.5ch.net/test/read.cgi/newsplus/1748430397/
【兵庫】「知事・元副知事の指示に基づき正当業務を…」斎藤知事の“側近”井ノ本氏の弁明書 知事は改めて否定 [ぐれ★]
2025/05/28(水) 17:08:14.82
https://asahi.5ch.net/test/read.cgi/newsplus/1748419694/
158デフォルトの名無しさん (アウアウウー Sa8f-q7Ty)
2025/05/29(木) 08:13:06.72ID:u1Xhema6a z1=z+complex<int>(1,0);
complex<float>とcomplex<double>の和は出来なくても良いと思うけど
z3=hoge_cast<complex<double>>(z1)+z2;
complex<float>とcomplex<double>の和は出来なくても良いと思うけど
z3=hoge_cast<complex<double>>(z1)+z2;
159デフォルトの名無しさん (ワッチョイ 0b30-qYXw)
2025/05/29(木) 10:31:08.39ID:Fzugd6EU0 AIチャットボットに有害な情報を出力させる手口が存在、研究者が危険性を指摘
2025-05-27 20:00
https://karapaia.com/archives/512716.html
>> イスラエルの研究チームが、主要なAIチャットボットが「脱獄(ジェイルブレイク)」と呼ばれる手口で、安全制御を回避され、違法で有害な情報を出力してしまう可能性があることを示した。
>> ChatGPTのような生成AIには、ユーザーの指示に対して有害な回答をしないよう制限が組み込まれている。しかし、今回の実験では、その制限が比較的簡単にすり抜けられることが明らかになった。
>> 研究チームは、「これまで国家機関や犯罪組織に限られていた情報が、今やノートパソコンやスマートフォンを持つ誰にでも届く可能性がある」と警鐘を鳴らしている。
中略
>> ネットワークのハッキング法や犯罪行為であっても、手順を追って教えてくれるのだ。
中略
>> この報告は『arXiv』(2025年5月15日投稿)で閲覧できる。
※電波攻撃音波攻撃詳細に方法を教えてくれる
2025-05-27 20:00
https://karapaia.com/archives/512716.html
>> イスラエルの研究チームが、主要なAIチャットボットが「脱獄(ジェイルブレイク)」と呼ばれる手口で、安全制御を回避され、違法で有害な情報を出力してしまう可能性があることを示した。
>> ChatGPTのような生成AIには、ユーザーの指示に対して有害な回答をしないよう制限が組み込まれている。しかし、今回の実験では、その制限が比較的簡単にすり抜けられることが明らかになった。
>> 研究チームは、「これまで国家機関や犯罪組織に限られていた情報が、今やノートパソコンやスマートフォンを持つ誰にでも届く可能性がある」と警鐘を鳴らしている。
中略
>> ネットワークのハッキング法や犯罪行為であっても、手順を追って教えてくれるのだ。
中略
>> この報告は『arXiv』(2025年5月15日投稿)で閲覧できる。
※電波攻撃音波攻撃詳細に方法を教えてくれる
160デフォルトの名無しさん (ワッチョイ 2b01-1uF+)
2025/05/29(木) 10:55:19.72ID:crgrWrcc0161デフォルトの名無しさん (ワッチョイ ebd6-TsVb)
2025/05/29(木) 15:34:51.30ID:KimJmnNH0 『変数名はキーワード、アンダースコア( _ )で始まる名前、アンダースコア2つ( __ )
を含む名前以外は自由に名付けることができる。』
って某入門書にあったんですけど、予約語は別にして、アンダースコアは衝突抑止の念のためにという事ですよね。
private:
int _size=0;
なんて変数名によくしています。
を含む名前以外は自由に名付けることができる。』
って某入門書にあったんですけど、予約語は別にして、アンダースコアは衝突抑止の念のためにという事ですよね。
private:
int _size=0;
なんて変数名によくしています。
162デフォルトの名無しさん (オイコラミネオ MM8f-rxm+)
2025/05/29(木) 15:46:46.20ID:v8EevfYQM163デフォルトの名無しさん (オイコラミネオ MM8f-rxm+)
2025/05/29(木) 15:47:49.43ID:v8EevfYQM 敢えて、そういう事をしたいなら、
int size_ = 0;
のように、xxx_ や xxx__ は、まあ、やっていいのかも知れない。
int size_ = 0;
のように、xxx_ や xxx__ は、まあ、やっていいのかも知れない。
164デフォルトの名無しさん (ワッチョイ 0f10-GFGd)
2025/05/29(木) 15:49:35.81ID:ozJD0VM40 アンダースコアは実装が使うから#define _sizeされても文句言えないしリンクエラーになるかもだし_Boolみたいに将来予約語になるかもしれない
…ただ世の中にはアンダースコアの付いてない普通に変数名によく使われるような単語を平気で#defineしてくるクソヘッダーも多いので気にしてもしょうがない
あとユーザー定義リテラルだけは例外で逆にアンダースコアで始めないといけない
…ただ世の中にはアンダースコアの付いてない普通に変数名によく使われるような単語を平気で#defineしてくるクソヘッダーも多いので気にしてもしょうがない
あとユーザー定義リテラルだけは例外で逆にアンダースコアで始めないといけない
165デフォルトの名無しさん (オイコラミネオ MM8f-rxm+)
2025/05/29(木) 15:58:31.71ID:v8EevfYQM そういえば、マクロの dummy 変数の習慣として、
#define MMMM(_x_,_y_) (_x_と_y_を使った表現)
のように、_x_ や _y_ のように、前後に _ を付けた名前を使う
というものがある、と聞いたことが有る。
#define MMMM(_x_,_y_) (_x_と_y_を使った表現)
のように、_x_ や _y_ のように、前後に _ を付けた名前を使う
というものがある、と聞いたことが有る。
166デフォルトの名無しさん (ワッチョイ 5f6c-UPeL)
2025/05/29(木) 16:26:19.54ID:G9KWFEhx0167デフォルトの名無しさん (ワッチョイ ebd6-TsVb)
2025/05/29(木) 16:30:44.26ID:KimJmnNH0 どもです。勉強になります。
んじゃこれからは
private:
int data_=0; の感じで書くことにします。うん メンバ変数は他とは違うんだぞと思わせたくて。
ちなみに
private:
int data_(0);
って書くとエラーになるのね。NSDMIの仕様でしたけ?
んじゃこれからは
private:
int data_=0; の感じで書くことにします。うん メンバ変数は他とは違うんだぞと思わせたくて。
ちなみに
private:
int data_(0);
って書くとエラーになるのね。NSDMIの仕様でしたけ?
168デフォルトの名無しさん (ワッチョイ 0f10-GFGd)
2025/05/29(木) 16:48:24.08ID:ozJD0VM40 メンバ変数だけじゃなくメンバ関数も区別したくない?ってなるのでthis->を省略すると警告が出るスイッチこそ欲すい
169はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bb32-VkiR)
2025/05/29(木) 16:52:24.76ID:SDgOXepR0 単にアンダースコアで始まる名前というだけなら「グローバル名前空間で」処理系のために予約されているだけなのでグローバル名前空間以外で使う分には問題ない。
アンダースコアふたつが連続で含まれるか、アンダースコアで始まって大文字が続く名前はあらゆる用途で予約されてるので一般ユーザが定義 (宣言) してはいけない。
https://timsong-cpp.github.io/cppwp/n3337/global.names
>>161
> 予約語は別にして
予約語という言葉をコンパイラ一般の用語として使っている資料は多いんだけど C++ の仕様としては予約語という言葉は使ってない。
いや、ちょっと使ってるんだけどはっきりした定義なく脚注で一度出てくるだけなので正式な用語じゃないと思う。
https://timsong-cpp.github.io/cppwp/n3337/lex.digraph#footnote-16
コンパイラが直接的に認識して文法上の特別な地位にあるような名前として「キーワード」があり、
それとは別にライブラリの構成上の規約として「予約名」がある。
アンダースコアふたつが連続で含まれるか、アンダースコアで始まって大文字が続く名前はあらゆる用途で予約されてるので一般ユーザが定義 (宣言) してはいけない。
https://timsong-cpp.github.io/cppwp/n3337/global.names
>>161
> 予約語は別にして
予約語という言葉をコンパイラ一般の用語として使っている資料は多いんだけど C++ の仕様としては予約語という言葉は使ってない。
いや、ちょっと使ってるんだけどはっきりした定義なく脚注で一度出てくるだけなので正式な用語じゃないと思う。
https://timsong-cpp.github.io/cppwp/n3337/lex.digraph#footnote-16
コンパイラが直接的に認識して文法上の特別な地位にあるような名前として「キーワード」があり、
それとは別にライブラリの構成上の規約として「予約名」がある。
170デフォルトの名無しさん (ワッチョイ ebd6-TsVb)
2025/05/29(木) 17:07:12.49ID:KimJmnNH0 >>169
> 単にアンダースコアで始まる名前というだけなら「グローバル名前空間で」処理系のために予約されているだけなのでグローバル名前空間以外で使う分には問題ない。
> アンダースコアふたつが連続で含まれるか、アンダースコアで始まって大文字が続く名前はあらゆる用途で予約されてるので一般ユーザが定義 (宣言) してはいけない。
ども了解です。基本外部で宣言する事はしないです。てかもうないですもんね。
> 単にアンダースコアで始まる名前というだけなら「グローバル名前空間で」処理系のために予約されているだけなのでグローバル名前空間以外で使う分には問題ない。
> アンダースコアふたつが連続で含まれるか、アンダースコアで始まって大文字が続く名前はあらゆる用途で予約されてるので一般ユーザが定義 (宣言) してはいけない。
ども了解です。基本外部で宣言する事はしないです。てかもうないですもんね。
171デフォルトの名無しさん (ワッチョイ bb7c-w/mX)
2025/05/29(木) 20:50:35.18ID:lOyNyril0 キーワード以外にもmainとかdefinedとか__file__とか__VA_ARGS__とか規格で特殊な意味を与えられてる文字列は色々あるけど
その総称ってないんだよな
その総称ってないんだよな
172デフォルトの名無しさん (ワッチョイ bb3c-79fi)
2025/05/29(木) 23:49:20.86ID:hr2gWeV00 C#やPythonのように、クラスのフィールドをアンダースコアで始めるのが一般的という言語もあるから、そちらから来るとそうしてしまうのかも?
C++は統一的な指針はないけれど、GoogleのC++スタイルガイドでは value_ のように末尾にアンダースコアを付けるとしてるので、これで良いと思う
昔ながらのプロジェクトだと member の意味で m_value のようにするというのがあるけど、これはだいぶレガシー
C++は統一的な指針はないけれど、GoogleのC++スタイルガイドでは value_ のように末尾にアンダースコアを付けるとしてるので、これで良いと思う
昔ながらのプロジェクトだと member の意味で m_value のようにするというのがあるけど、これはだいぶレガシー
173デフォルトの名無しさん (アウアウウー Sa8f-/+k6)
2025/05/30(金) 01:16:49.62ID:Jzn0K6cGa ハンガリアン記法などというワードも、もはや若人には通じない時代となってしまったのだ・・・
174デフォルトの名無しさん (ワッチョイ 4b01-DKvR)
2025/05/30(金) 01:39:44.98ID:QwZ+U2hj0 個人で書くときはハンガリアン(もどき)だしm_付けてるけどな
サフィックスよりはプレフィックス付ける方がサジェストとか検索で絞りやすい
古いだのなんだのじゃなくて合理的ならなんでもいいと思うんだけどな
サフィックスよりはプレフィックス付ける方がサジェストとか検索で絞りやすい
古いだのなんだのじゃなくて合理的ならなんでもいいと思うんだけどな
175デフォルトの名無しさん (ワッチョイ 3bf0-TsVb)
2025/05/30(金) 02:42:40.16ID:qIE+EPsq0 m_も馬鹿っぽいけどな
176デフォルトの名無しさん (ワッチョイ 9fda-sPKC)
2025/05/30(金) 03:11:51.77ID:DT1BzE420 FORTRAN方式こそ正義
177デフォルトの名無しさん (ワッチョイ 1bba-DKvR)
2025/05/30(金) 03:32:04.17ID:a8PtKm050 前も似たようなこと言ったけど、馬鹿っぽいとか古いとか、ユーザーには何の利益にもならんぞ
178デフォルトの名無しさん (ワッチョイ 0b59-+7qT)
2025/05/30(金) 10:36:11.75ID:9fSC83d40 最近のIDEは色がついていてローカル変数とメンバー変数が区別できるようになってるね
m_ などのプリフィックスは不要になってきてると思う
m_ などのプリフィックスは不要になってきてると思う
179デフォルトの名無しさん (アウアウウー Sa8f-q7Ty)
2025/05/30(金) 10:50:34.95ID:XWQpoVmBa m_ とか g_ は恥ずかしいね
180デフォルトの名無しさん (オイコラミネオ MM8f-rxm+)
2025/05/30(金) 11:00:52.20ID:ORX18+JcM >>179
そんなことない。
そんなことない。
181デフォルトの名無しさん (ワッチョイ 9f52-WoVj)
2025/05/30(金) 12:05:13.31ID:qi/53/kN0 一目でメンバ変数かを判断できるようにするべきだ
182デフォルトの名無しさん (オイコラミネオ MM8f-rxm+)
2025/05/30(金) 12:09:34.75ID:MmHFotTIM >>172
>C++は統一的な指針はないけれど、GoogleのC++スタイルガイドでは value_ のように末尾にアンダースコアを付けるとしてるので、これで良いと思う
でも、local auto 変数、local static 変数、メンバ変数と、(完全な)グローバル変数
global static 変数の少なくとも 5 種類あるので、
m_xxx, g_xxx, s_xxx の記法だと、区別しやすいが、
xxx_ だと難しい。
>C++は統一的な指針はないけれど、GoogleのC++スタイルガイドでは value_ のように末尾にアンダースコアを付けるとしてるので、これで良いと思う
でも、local auto 変数、local static 変数、メンバ変数と、(完全な)グローバル変数
global static 変数の少なくとも 5 種類あるので、
m_xxx, g_xxx, s_xxx の記法だと、区別しやすいが、
xxx_ だと難しい。
183デフォルトの名無しさん (ワッチョイ 9f06-XbnY)
2025/05/30(金) 12:55:15.24ID:ST0oYfQR0 グローバル変数は爆弾だから特別な名前を付けるべき
データメンバーとローカル変数は(クラス内では)混ぜて多用されるから区別付けておくべき
それ以外は好みでいいよ
データメンバーとローカル変数は(クラス内では)混ぜて多用されるから区別付けておくべき
それ以外は好みでいいよ
184デフォルトの名無しさん (アウアウウー Sa8f-q7Ty)
2025/05/30(金) 13:22:08.94ID:XWQpoVmBa >>168
判る
判る
185デフォルトの名無しさん (ワッチョイ 8bbd-qYXw)
2025/05/30(金) 13:22:41.29ID:FTEPrInt0 悪用されるのは当然です
高品質かつ高速な画像生成AI「FLUX.1 Kontext」が登場したので使ってみた、テキストと画像の入力に対応しアニメ風も実写風も生成可能
https://gigazine.net/news/20250530-flux-1-kontext-image-generation-ai/
全てのAIの推論をどうやって導き出したかがわかるのでプログラムの改造がはかどる
AnthropicがAIモデルの思考内容を可視化できるオープンソースツール「circuit-tracer」を公開
https://gigazine.net/news/20250530-anthropic-open-source-circuit-tracing/
高品質かつ高速な画像生成AI「FLUX.1 Kontext」が登場したので使ってみた、テキストと画像の入力に対応しアニメ風も実写風も生成可能
https://gigazine.net/news/20250530-flux-1-kontext-image-generation-ai/
全てのAIの推論をどうやって導き出したかがわかるのでプログラムの改造がはかどる
AnthropicがAIモデルの思考内容を可視化できるオープンソースツール「circuit-tracer」を公開
https://gigazine.net/news/20250530-anthropic-open-source-circuit-tracing/
186デフォルトの名無しさん (アウアウウー Sa8f-q7Ty)
2025/05/30(金) 13:23:32.32ID:XWQpoVmBa const は c_xxx ですね判ります
187デフォルトの名無しさん (ワッチョイ eff7-d0Aw)
2025/05/30(金) 15:34:37.29ID:uDWPTWtO0 m_ とか s_とかg_つける習慣はやめられないな
スコープ明示は読みやすい
この程度をIDEに依存したくないわ
スコープ明示は読みやすい
この程度をIDEに依存したくないわ
188デフォルトの名無しさん (ワッチョイ eff7-d0Aw)
2025/05/30(金) 15:35:56.97ID:uDWPTWtO0 あと初見でautoだらけとかチェーンしまくるコードも読みにくくてしゃあない
書いた本人は無駄なくせて満足だろうけど、ある程度の冗長性は許容したほうが読みやすいし事故を防げる場合もあるんだよな
書いた本人は無駄なくせて満足だろうけど、ある程度の冗長性は許容したほうが読みやすいし事故を防げる場合もあるんだよな
189デフォルトの名無しさん (ワッチョイ 2b01-+rG7)
2025/05/30(金) 15:42:21.31ID:418TV5iU0190デフォルトの名無しさん (ワッチョイ ef6b-d0Aw)
2025/05/30(金) 16:01:45.27ID:uDWPTWtO0 ちなみにautoでしか書けないやつとかあるのはわかってるよ
191デフォルトの名無しさん (ワッチョイ bb7c-w/mX)
2025/05/31(土) 02:34:30.00ID:s94c4VR80 イテレータの型なんかはauto使わず律儀に書く方が間違ってる
192はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8d32-2Myj)
2025/06/02(月) 09:16:11.21ID:aX5lnsqr0 Stroustrup は名前に型やスコープなどの情報を埋め込むのは否定的だ。
https://www.stroustrup.com/bs_faq2.html#Hungarian
部分的に便利な場合があることは認めていて、型名を大文字で始める (アッパーキャメルケース) こととマクロは全て大文字にすることを紹介してる。
https://www.stroustrup.com/bs_faq2.html#Hungarian
部分的に便利な場合があることは認めていて、型名を大文字で始める (アッパーキャメルケース) こととマクロは全て大文字にすることを紹介してる。
193デフォルトの名無しさん (アウアウウー Sac5-Uswy)
2025/06/02(月) 14:50:23.57ID:DSKTrfoza リファクタリングの途中でルールにずれるたびに名前変えてると効率悪過ぎですし
194はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8d32-2Myj)
2025/06/02(月) 15:57:32.89ID:aX5lnsqr0 出自が違うライブラリを組み合わせて使うのもよくあることだし、一貫した規約を保つのは難しいな。
D&E の 9.4.4 ではツールがより賢くなった理想的な開発環境について触れている。
プログラミング言語がテキスト表現を持つのはプログラマに対するインターフェイスに過ぎず、プログラムがテキストである必要はないという論だ。
ツール内部では抽象的なデータ構造として持っておいて必要に応じて (各プログラマの好みに合わせて) テキスト表現を調整するような仕組みにすれば名付けのスタイルなんかどうでもよくなる。
D&E の 9.4.4 ではツールがより賢くなった理想的な開発環境について触れている。
プログラミング言語がテキスト表現を持つのはプログラマに対するインターフェイスに過ぎず、プログラムがテキストである必要はないという論だ。
ツール内部では抽象的なデータ構造として持っておいて必要に応じて (各プログラマの好みに合わせて) テキスト表現を調整するような仕組みにすれば名付けのスタイルなんかどうでもよくなる。
195デフォルトの名無しさん (JP 0H16-tLkV)
2025/06/02(月) 16:43:02.90ID:wUlZIBZbH あのー、話をぶったぎってすみません。
>>155の関数の戻り値は
decltype(auto) じゃなくて 単純にautoでいいです
よね?
RVOを使っているから値返しで良いし、参照返しも
okなdecltype(auto)は過剰スペックなような。
>>155の関数の戻り値は
decltype(auto) じゃなくて 単純にautoでいいです
よね?
RVOを使っているから値返しで良いし、参照返しも
okなdecltype(auto)は過剰スペックなような。
196デフォルトの名無しさん (ワッチョイ 5154-DcV8)
2025/06/02(月) 16:52:31.25ID:Ca4PuVUf0 シャープ、PythonによるAIデバイス向け高位合成ツールをオープンソースで公開
https://news.mynavi.jp/techplus/article/20250602-3343055/
博報堂メディカル、生成AIを用いた審査業務効率化ソリューションを開発 [
https://news.mynavi.jp/techplus/article/20250602-3342950/
「AIをより魅力的にする戦略」がAIチャットボットに「薬物使用を促す」といった有害な考えを強化させる可能性があると研究で判明
https://gigazine.net/news/20250602-ai-chatbots-user-influence-attention/
https://news.mynavi.jp/techplus/article/20250602-3343055/
博報堂メディカル、生成AIを用いた審査業務効率化ソリューションを開発 [
https://news.mynavi.jp/techplus/article/20250602-3342950/
「AIをより魅力的にする戦略」がAIチャットボットに「薬物使用を促す」といった有害な考えを強化させる可能性があると研究で判明
https://gigazine.net/news/20250602-ai-chatbots-user-influence-attention/
197デフォルトの名無しさん (オイコラミネオ MM55-d+bF)
2025/06/02(月) 20:55:46.15ID:ET4i7BARM198デフォルトの名無しさん (オイコラミネオ MM55-d+bF)
2025/06/02(月) 22:27:52.64ID:ET4i7BARM 昔、BASIC言語で、数値(単精度浮動小数点)はAの様に、文字列は A$ の様に
書くのは分かりやすかったな。
今も、数値はx,y,a,bやi,j、文字列変数は、strText と書いた方が分かりやすく感じる。
書くのは分かりやすかったな。
今も、数値はx,y,a,bやi,j、文字列変数は、strText と書いた方が分かりやすく感じる。
200デフォルトの名無しさん (ワッチョイ ee10-q9Bd)
2025/06/03(火) 01:42:24.38ID:ue5SdiDx0 型を変数名に含めるのは型を大量に作るのが当たり前になった今では速攻破綻する。文字列だけでも何種類あるよ
スコープはC++では有限だからまあよしというか、マクロという凶悪大スコープなやつだけは隔離しないとやってられない
スコープはC++では有限だからまあよしというか、マクロという凶悪大スコープなやつだけは隔離しないとやってられない
201デフォルトの名無しさん (ワッチョイ a101-XVxU)
2025/06/03(火) 03:15:04.87ID:QDwFpnnH0 >>192
最後に「細かいことにこだわるよりも、一貫してルールが守られていることの方が重要」と結んでるのを皆ガン無視してるな
最後に「細かいことにこだわるよりも、一貫してルールが守られていることの方が重要」と結んでるのを皆ガン無視してるな
202デフォルトの名無しさん (ワッチョイ 82ad-mFb1)
2025/06/03(火) 03:19:00.18ID:0VgbeSrB0203デフォルトの名無しさん (ワッチョイ c60c-+XEO)
2025/06/03(火) 05:25:56.96ID:ZBtI7lM80 cの範疇になるけどsignedとunsignedが変数名でわかるのは助かるけどな
コンパイラのwarning任せは心もとない
コンパイラのwarning任せは心もとない
204デフォルトの名無しさん (ワッチョイ 0d21-bekj)
2025/06/03(火) 06:02:38.05ID:h7iZDaPS0 変数は日本語で
205デフォルトの名無しさん (ワッチョイ 8279-zefJ)
2025/06/03(火) 09:23:02.69ID:y5vobhTd0 最初から言語で縛ってればこの議論すら発生してない
206デフォルトの名無しさん (ワッチョイ 69d6-a+Ou)
2025/06/03(火) 10:34:45.25ID:h0O9iP1b0 MINDでしたけ?
207はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8d32-FMYs)
2025/06/03(火) 11:33:27.00ID:P/OxecZX0 >>203
数値については変数の型そのものよりも演算のときに暗黙に型変換されることがあるのが C++ で問題になりやすいところだと思う。
数値については変数の型そのものよりも演算のときに暗黙に型変換されることがあるのが C++ で問題になりやすいところだと思う。
208デフォルトの名無しさん (オイコラミネオ MM55-d+bF)
2025/06/03(火) 14:29:05.51ID:tpA/FWUpM209デフォルトの名無しさん (ワッチョイ 052f-MN+B)
2025/06/03(火) 14:51:27.14ID:7K3A6UIY0 XXXsよりXXXList (またはXXXVector)だ!
210デフォルトの名無しさん (ワッチョイ 0db3-bekj)
2025/06/03(火) 16:18:33.92ID:h7iZDaPS0 DNAはどうなってんだろうな
4進数の羅列だけで、変数持ってないし
直接アドレス指定どうやってんだよ?
peek pokeは誰が担ってんだよ
4進数の羅列だけで、変数持ってないし
直接アドレス指定どうやってんだよ?
peek pokeは誰が担ってんだよ
211デフォルトの名無しさん (ワッチョイ 0de2-hbVI)
2025/06/03(火) 20:04:19.87ID:/7yVoUF50 >>210
タンパク質の合成とか調べなされ。mRNAとかtRNAとか。
タンパク質の合成とか調べなされ。mRNAとかtRNAとか。
212デフォルトの名無しさん (スッップ Sda2-dO7W)
2025/06/03(火) 20:22:12.60ID:ETf4Zm6Cd >>155
虚数は実在しない
虚数は実在しない
213デフォルトの名無しさん (ワッチョイ 656e-hbVI)
2025/06/03(火) 21:01:25.55ID:/jgzz5v70214デフォルトの名無しさん (ワッチョイ c60d-+XEO)
2025/06/03(火) 21:15:47.28ID:ZBtI7lM80215デフォルトの名無しさん (ワッチョイ 69d6-a+Ou)
2025/06/03(火) 21:28:00.78ID:h0O9iP1b0 3次方程式の解の方程式に虚数が出てくる意味ですよ。しったか
216デフォルトの名無しさん (アウアウウー Sac5-ucTA)
2025/06/03(火) 21:43:38.26ID:ZVCnTieoa そんなこと言ったら0も-1もねーよ
217デフォルトの名無しさん (アウアウウー Sac5-37JY)
2025/06/03(火) 21:53:33.79ID:bcTkTLKWa >>213
だから複素数がベクトルとして機能するんだよね
だから複素数がベクトルとして機能するんだよね
218デフォルトの名無しさん (アウアウウー Sac5-Uswy)
2025/06/03(火) 22:37:53.10ID:SMbzrRmIa >>210
crisper-cas-9
crisper-cas-9
219デフォルトの名無しさん (ワッチョイ eea1-bAVr)
2025/06/04(水) 04:46:09.37ID:GWnctGWc0 質問なのですが
double qax(int a, long b) { ... }
double quux(int a, long b) { ... }
std::function<double(int, long)> gfred= qax;
としたときに、gfred が qax と同じだが quux とは違う、というのを判定するにはど
うしたら良いの?
double qax(int a, long b) { ... }
double quux(int a, long b) { ... }
std::function<double(int, long)> gfred= qax;
としたときに、gfred が qax と同じだが quux とは違う、というのを判定するにはど
うしたら良いの?
220デフォルトの名無しさん (ワッチョイ 656e-hbVI)
2025/06/04(水) 05:46:56.09ID:EsSRpHcz0221はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8d32-2Myj)
2025/06/04(水) 09:29:46.05ID:XvRleYyH0 >>219
元の型で取り出すためのメンバ関数テンプレートとして target が使える。
↓こういうことがしたいのかな?
https://wandbox.org/permlink/MpTFLrezqJE06Myb
元の型で取り出すためのメンバ関数テンプレートとして target が使える。
↓こういうことがしたいのかな?
https://wandbox.org/permlink/MpTFLrezqJE06Myb
222デフォルトの名無しさん (アウアウウー Sac5-Uswy)
2025/06/04(水) 09:58:31.17ID:pOYKhOcIa223デフォルトの名無しさん (ワッチョイ f191-DcV8)
2025/06/04(水) 20:04:15.01ID:Ao4InlGx0 GoogleのGemini 2.5で日本語を含む多言語の音声生成が可能に
https:
//gigazine.net/news/20250604-google-gemini-native-audio/
無料で超絶リアルな3DCGキャラを作成&動かせるゲーム開発ツール「MetaHuman」の一部がUnreal Engine 5.6に統合
https:
//gigazine.net/news/20250604-unreal-engine-5-6-metahuman/
ついにAndroid版Photoshopのベータ版が登場、無料でAIによる画像生成やレイヤー編集を利用可能
https:
//gigazine.net/news/20250604-adobe-photoshop-android/
あなたは「生成AI製フェイク画像」を見抜けますか?--判別は"ほぼ無理”な時代、来歴証明が重要なワケ
https:
//japan.cnet.com/article/35233768/
ChatGPT無料版でも「会話履歴を踏まえた回答」が可能に、ただし最近の会話のみ
https:
//japan.cnet.com/article/35233795/
xAI「Grok」18禁モード無料開放 けしからん会話可能に 日本語OK
https:
//ascii.jp/ai/
https:
//gigazine.net/news/20250604-google-gemini-native-audio/
無料で超絶リアルな3DCGキャラを作成&動かせるゲーム開発ツール「MetaHuman」の一部がUnreal Engine 5.6に統合
https:
//gigazine.net/news/20250604-unreal-engine-5-6-metahuman/
ついにAndroid版Photoshopのベータ版が登場、無料でAIによる画像生成やレイヤー編集を利用可能
https:
//gigazine.net/news/20250604-adobe-photoshop-android/
あなたは「生成AI製フェイク画像」を見抜けますか?--判別は"ほぼ無理”な時代、来歴証明が重要なワケ
https:
//japan.cnet.com/article/35233768/
ChatGPT無料版でも「会話履歴を踏まえた回答」が可能に、ただし最近の会話のみ
https:
//japan.cnet.com/article/35233795/
xAI「Grok」18禁モード無料開放 けしからん会話可能に 日本語OK
https:
//ascii.jp/ai/
224デフォルトの名無しさん (ワッチョイ eea1-bAVr)
2025/06/04(水) 23:13:17.20ID:GWnctGWc0 >>221
なるほど……
>>222
なるほど……
しかしstd::function<T>::target()で関数オブジェクトも扱えるらしいとわかったのでやってみたら
こちらは意図通り動かず釈然とせんぬ……
https://ideone.com/VM9Vh0
24行目〜26行目のif文の動きが思ってたのと違う……
一体どうすれば……orz
なるほど……
>>222
なるほど……
しかしstd::function<T>::target()で関数オブジェクトも扱えるらしいとわかったのでやってみたら
こちらは意図通り動かず釈然とせんぬ……
https://ideone.com/VM9Vh0
24行目〜26行目のif文の動きが思ってたのと違う……
一体どうすれば……orz
225デフォルトの名無しさん (ワッチョイ eea1-bAVr)
2025/06/04(水) 23:18:49.86ID:GWnctGWc0 24行目〜26行目のif文の動きが思ってたのと違う……
226デフォルトの名無しさん (ワッチョイ eea1-bAVr)
2025/06/04(水) 23:27:49.48ID:GWnctGWc0 とりま↓こうしたら逝けた……
https://ideone.com/sug3S4
んまーfooのインスタンスの寿命を考えたらstd::function<T>はfooをコピーする実装になるという予想の下に、
fooを構築したときのthisをメンバm_objIDに記憶させて、fooの等値演算はm_objIDの比較で行うようにしたらイゴイタ……
5chは漏れの日記帳……
https://ideone.com/sug3S4
んまーfooのインスタンスの寿命を考えたらstd::function<T>はfooをコピーする実装になるという予想の下に、
fooを構築したときのthisをメンバm_objIDに記憶させて、fooの等値演算はm_objIDの比較で行うようにしたらイゴイタ……
5chは漏れの日記帳……
227はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 29f7-FMYs)
2025/06/05(木) 03:33:47.67ID:lIQfbdfd0 >>226
この場合に呼び出されるコンストラクタは
template<class F> function(F f);
なのでコピーされることはこのシグネチャから自明。
https://timsong-cpp.github.io/cppwp/n3337/func.wrap.func.con
std::function は (同じ形式で呼び出しが可能なら) 違う型のオブジェクトを統一的に扱うことが目的なので入れる型を限定してしまうような構造は std::function を使う甲斐がない。
どういう状況で比較しようとしてるのかわらんけど、そういうのが必要になってるなら設計が根本的に失敗してる可能性を疑う。
この場合に呼び出されるコンストラクタは
template<class F> function(F f);
なのでコピーされることはこのシグネチャから自明。
https://timsong-cpp.github.io/cppwp/n3337/func.wrap.func.con
std::function は (同じ形式で呼び出しが可能なら) 違う型のオブジェクトを統一的に扱うことが目的なので入れる型を限定してしまうような構造は std::function を使う甲斐がない。
どういう状況で比較しようとしてるのかわらんけど、そういうのが必要になってるなら設計が根本的に失敗してる可能性を疑う。
228デフォルトの名無しさん (ワッチョイ eea1-bAVr)
2025/06/05(木) 08:27:57.44ID:ExyrcTL10 >>227
レスdクス、
>コピーされることはこのシグネチャから自明。
なるほど……
>std::function は (同じ形式で呼び出しが可能なら) 違う型のオブジェクトを統一的に扱うことが目的なので入れる型を限定してしまうような構造は std::function を使う甲斐がない。
それはそう
>そういうのが必要になってるなら設計が根本的に失敗してる可能性を疑う。
これはスレッドの終了時にコールバック関数を呼ぶ仕組みにおいて、
コールバック関数とコールバックを待機する関数の組み合わせが本当に正しいか待機関数側でチェックするのに使い鯛、
(コールバック関数は自由に登録できるようにする必要があり、
コールバックされたとき単に処理を進めるだけで待機の解除をなんら行わないコールバック関数とかもあるので
対応を間違ったらバグ
レスdクス、
>コピーされることはこのシグネチャから自明。
なるほど……
>std::function は (同じ形式で呼び出しが可能なら) 違う型のオブジェクトを統一的に扱うことが目的なので入れる型を限定してしまうような構造は std::function を使う甲斐がない。
それはそう
>そういうのが必要になってるなら設計が根本的に失敗してる可能性を疑う。
これはスレッドの終了時にコールバック関数を呼ぶ仕組みにおいて、
コールバック関数とコールバックを待機する関数の組み合わせが本当に正しいか待機関数側でチェックするのに使い鯛、
(コールバック関数は自由に登録できるようにする必要があり、
コールバックされたとき単に処理を進めるだけで待機の解除をなんら行わないコールバック関数とかもあるので
対応を間違ったらバグ
229デフォルトの名無しさん (ワッチョイ eea1-bAVr)
2025/06/05(木) 08:28:31.27ID:ExyrcTL10 コールバック関数の自由な登録というのをstd::function<T>として登録することを考えて居たけんども
素のstd::function<T>ではチェックが自由にできないということがわかりた……
MSVCとかで関数を入れたstd::function<double (int, long)>に対し関数オブジェクトfooとしてtarget<foo>()するか
反対のことをしたらcatchできない例外が発生すた、(多分構造化例外か何かでSTLの仕様的にはおそらく未定義動作
故に素のstd::function<T>を使おうとする限り、入れるブツをdynamic_cast可能な関数オブジェクトに限定するとかしないと
手の打ちようが無いorz
現実解はstd::function<T>をwrapした「コールバック関数クラス」の創設……
素のstd::function<T>ではチェックが自由にできないということがわかりた……
MSVCとかで関数を入れたstd::function<double (int, long)>に対し関数オブジェクトfooとしてtarget<foo>()するか
反対のことをしたらcatchできない例外が発生すた、(多分構造化例外か何かでSTLの仕様的にはおそらく未定義動作
故に素のstd::function<T>を使おうとする限り、入れるブツをdynamic_cast可能な関数オブジェクトに限定するとかしないと
手の打ちようが無いorz
現実解はstd::function<T>をwrapした「コールバック関数クラス」の創設……
230デフォルトの名無しさん (ワッチョイ 0505-XVxU)
2025/06/05(木) 11:16:19.85ID:8BEUFbRj0 別に質問すんのも気付いた事を書くのも(手短になら)いいんだけどさ
>5chは漏れの日記帳……
ええ加減にせえよお前マジで
開き直ってんじゃねえぞ
>5chは漏れの日記帳……
ええ加減にせえよお前マジで
開き直ってんじゃねえぞ
231はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8d32-FMYs)
2025/06/05(木) 12:10:53.33ID:BNqgyRrD0232デフォルトの名無しさん (ワッチョイ d142-hbVI)
2025/06/05(木) 13:25:12.77ID:EjJmkkft0 >>229
あんまり深く理解してないけど
コールバックの責任範囲(待機の解除とか)が違うのを明確に管理したい
->責任範囲の違いごとに基底クラスを用意して、コールバックは派生クラスで実装させる。
みたいなガチガチの管理がいいんじゃないんかね。
コールバック実装側にも管理する義務を押し付けられるし、基本的なフレームワーク(待機の解除手順とか)は基底クラス側で実装できる。
あんまり深く理解してないけど
コールバックの責任範囲(待機の解除とか)が違うのを明確に管理したい
->責任範囲の違いごとに基底クラスを用意して、コールバックは派生クラスで実装させる。
みたいなガチガチの管理がいいんじゃないんかね。
コールバック実装側にも管理する義務を押し付けられるし、基本的なフレームワーク(待機の解除手順とか)は基底クラス側で実装できる。
233デフォルトの名無しさん (ワッチョイ 69d6-a+Ou)
2025/06/05(木) 16:59:25.81ID:I5agSXi50 単純なんですが、わからんので教えてください。
#include <iostream>
int main(){
std::cout <<"hello"s<<std::endl;
}
がエラーになります。なんか勘違いしてます?sは無理につけないほうがいいのかな?!
$ g++ -Wall -Wextra -std=c++23 -O2 -DGNU_SOURCE main.cpp -o main
g++は11.4.0
#include <iostream>
int main(){
std::cout <<"hello"s<<std::endl;
}
がエラーになります。なんか勘違いしてます?sは無理につけないほうがいいのかな?!
$ g++ -Wall -Wextra -std=c++23 -O2 -DGNU_SOURCE main.cpp -o main
g++は11.4.0
234デフォルトの名無しさん (ブーイモ MM76-+XEO)
2025/06/05(木) 17:33:40.39ID:Ze0QqwpuM235はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8d32-2Myj)
2025/06/05(木) 17:37:36.07ID:BNqgyRrD0 >>233
結論から言うとこういう感じ。
#include <iostream>
#include <string>
int main(){
using namespace std::literals::string_literals;
std::cout <<"hello"s<<std::endl;
}
s はヘッダ string の中の std::literals::string_literals という名前空間で定義されているからこういう形で using してからじゃないと使えない。
この単純なケースだけを見れば s を付ける利点は何もないけど状況次第。
結論から言うとこういう感じ。
#include <iostream>
#include <string>
int main(){
using namespace std::literals::string_literals;
std::cout <<"hello"s<<std::endl;
}
s はヘッダ string の中の std::literals::string_literals という名前空間で定義されているからこういう形で using してからじゃないと使えない。
この単純なケースだけを見れば s を付ける利点は何もないけど状況次第。
236デフォルトの名無しさん (ワッチョイ 69d6-a+Ou)
2025/06/05(木) 17:38:38.46ID:I5agSXi50 >>234
早速の返信ありがとうございました。勉強します。mOm
早速の返信ありがとうございました。勉強します。mOm
237デフォルトの名無しさん (ワッチョイ 69d6-a+Ou)
2025/06/05(木) 17:40:53.81ID:I5agSXi50 >>235
御意 mOm 色々あるのですね・・・
御意 mOm 色々あるのですね・・・
238はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8d32-2Myj)
2025/06/05(木) 18:41:08.81ID:BNqgyRrD0 他のいくつかの言語 (Java とか C# とか) の感覚で C++ を見ると普通の文字列リテラルの型が std::string ではなく char[] なのは引っかかりがちなところかもしれない。
常に s を付けるとそういう引っかかりを無くせるので不必要でも一貫して s を付けるような運用は悪くはないのかもしれない。
基本的にはちゃんと理解して使い分けて欲しいけどね。
常に s を付けるとそういう引っかかりを無くせるので不必要でも一貫して s を付けるような運用は悪くはないのかもしれない。
基本的にはちゃんと理解して使い分けて欲しいけどね。
239デフォルトの名無しさん (ワッチョイ 021f-8ND1)
2025/06/07(土) 01:59:21.81ID:8e7E0Zg00 emplace_backなんて便利なものあったのかよ
なんで教えてくれなかったの
なんで教えてくれなかったの
240デフォルトの名無しさん (アウアウウー Sac5-JYt+)
2025/06/07(土) 02:24:44.55ID:jKOd5e+0a 最初にちゃんと教えたじゃない
241デフォルトの名無しさん (ワッチョイ c67e-+XEO)
2025/06/07(土) 04:07:51.58ID:tL+z2F5g0 便利ってのはちょっと違うだろ
242デフォルトの名無しさん (ワッチョイ 69d6-a+Ou)
2025/06/07(土) 08:30:18.62ID:6XhFO67c0 う 知らなかった。rvalue Refでの実装ですよね。30%以上速くなってるみたいな。
243デフォルトの名無しさん (ワッチョイ c97c-lQrw)
2025/06/11(水) 00:24:35.36ID:PujA5y+40 プログラミングなんて勉強して意味あるのかな…?
AIに全部もってかれそうなのに…
AIに全部もってかれそうなのに…
244デフォルトの名無しさん (ワッチョイ 2b5b-HFYW)
2025/06/11(水) 00:26:46.70ID:BmOhOZog0 面白いからやってるだけでは?
245デフォルトの名無しさん (ワッチョイ c901-dA2F)
2025/06/11(水) 00:42:35.30ID:LotBJsEG0246デフォルトの名無しさん (ワッチョイ 53d6-DqH0)
2025/06/11(水) 01:19:10.27ID:oPVwdzBR0 こういうのは勉強したくない言い訳だから意味を答えても無駄だって聞いた
247デフォルトの名無しさん (ワッチョイ 91f0-gi55)
2025/06/11(水) 05:22:56.57ID:X5AhUIPs0 頭使ってPG組むのは自分のためなんよ
なんでもAIに頼ってたら馬鹿まっしぐらで緊急時になにもできない人間に成り下がってしまうんだぜ
なんでもAIに頼ってたら馬鹿まっしぐらで緊急時になにもできない人間に成り下がってしまうんだぜ
248デフォルトの名無しさん (ワッチョイ 7bf9-2FFP)
2025/06/11(水) 06:27:29.37ID:LS0N9soX0249デフォルトの名無しさん (ワッチョイ a9d6-gi55)
2025/06/11(水) 07:39:00.61ID:1mMnjHQa0 AIがいいプログラミング出来るように開発しなきゃならないね。
250はちみつ餃子 ◆8X2XSCHEME (ワッチョイ d132-5Qoi)
2025/06/11(水) 09:03:36.56ID:AWy+SoY40251デフォルトの名無しさん (ワッチョイ 39a6-EOGS)
2025/06/11(水) 09:22:57.75ID:IDIyuYFJ0 AIプログラミングってストレス溜まるらしいね
AIの作成したコードに誤りがないかを人間が確認して誤りがあれば修正を指示する
人間がコードを読んでバグを見つけないといけないケースもある
まるで出来の悪い部下を教育しているようでかなりの根気が必要
自分でコード書くほうがストレスフリーで楽だよ
AIの作成したコードに誤りがないかを人間が確認して誤りがあれば修正を指示する
人間がコードを読んでバグを見つけないといけないケースもある
まるで出来の悪い部下を教育しているようでかなりの根気が必要
自分でコード書くほうがストレスフリーで楽だよ
252デフォルトの名無しさん (ワッチョイ c18f-ur14)
2025/06/11(水) 10:00:04.85ID:7/IL82s+0 新人よりはずっといいコード作るのと、速度が自分と比べても圧倒的ゆえに、プロトタイプ作るのはもう任せてしまってる
まだ全部任せるのは無理だけど、5年前に今の状況伝えても笑って信じない程度には有能
まだ全部任せるのは無理だけど、5年前に今の状況伝えても笑って信じない程度には有能
253デフォルトの名無しさん (ワッチョイ 2bd9-c7N1)
2025/06/11(水) 10:37:11.25ID:4plX/rhp0254はちみつ餃子 ◆8X2XSCHEME (ワッチョイ d132-XeLS)
2025/06/11(水) 10:58:38.63ID:AWy+SoY40 AI が思ったより高性能なのは確かだが、これからの性能の伸びは急激に鈍化する可能性が高い。
性能の高い AI には単純に巨大な計算能力と記憶が必要で、更にはそれを支える電力が要るという物理的限界があるから。
量子コンピューターなど、物理のほうでなんらかのブレイクスルーがあれば更なる飛躍が望めるかもしれないけれど……
しばらくは今程度の AI との付き合い方を社会のほうが学習して折り合いをつけていく形になると思う。
性能の高い AI には単純に巨大な計算能力と記憶が必要で、更にはそれを支える電力が要るという物理的限界があるから。
量子コンピューターなど、物理のほうでなんらかのブレイクスルーがあれば更なる飛躍が望めるかもしれないけれど……
しばらくは今程度の AI との付き合い方を社会のほうが学習して折り合いをつけていく形になると思う。
255デフォルトの名無しさん (ワッチョイ 5901-c7N1)
2025/06/11(水) 11:15:11.18ID:HZCA0d+40 知らん事に対してあまり分かったような事言わない方がいいぞ
256デフォルトの名無しさん (ワッチョイ 5387-jI5/)
2025/06/11(水) 11:39:04.50ID:sSZ9OAEc0 246で終わってて以降はいつもの蛇足
257デフォルトの名無しさん (ワッチョイ 13bb-LbEI)
2025/06/11(水) 12:34:23.44ID:5IFZnh9v0 >>251
テストケースをちゃんと作ってればAI任せでもかなりできる
テストケースをちゃんと作ってればAI任せでもかなりできる
258デフォルトの名無しさん (ワッチョイ 7bf9-2FFP)
2025/06/11(水) 13:08:01.74ID:LS0N9soX0 現状AIにお任せで作るテストケースなんて低品質のザル
それに何をやらせるにしろコンテキストサイズ小さすぎで少し規模でかくなったらすぐ鳥頭状態で延々間違い続ける
まだまだ技術は進歩するだろうがエンジニア不要なんて当分ならない
仕事のやり方が変わるだけ
それに何をやらせるにしろコンテキストサイズ小さすぎで少し規模でかくなったらすぐ鳥頭状態で延々間違い続ける
まだまだ技術は進歩するだろうがエンジニア不要なんて当分ならない
仕事のやり方が変わるだけ
259デフォルトの名無しさん (ワッチョイ d1c4-1q1N)
2025/06/11(水) 13:48:04.08ID:F2et1oFa0 何万回も試行させてバグ発見とバグ取りまでAI任せでいいじゃん
それを人がやってるのはアホすぎるw
道具使えてない
それを人がやってるのはアホすぎるw
道具使えてない
260デフォルトの名無しさん (ワッチョイ 7bf9-2FFP)
2025/06/11(水) 13:59:18.90ID:LS0N9soX0 やってから言え
261はちみつ餃子 ◆8X2XSCHEME (ワッチョイ d132-XeLS)
2025/06/11(水) 14:10:23.54ID:AWy+SoY40262デフォルトの名無しさん (ワッチョイ c901-dA2F)
2025/06/11(水) 14:41:37.02ID:LotBJsEG0 馬鹿と鋏とAIは使いようだよ
263デフォルトの名無しさん (ワッチョイ b94d-ZZSa)
2025/06/11(水) 15:02:45.49ID:jtrpcw1X0 超音波と電波は頭蓋骨貫通する
傷害事件や殺人事件の被害が出ているのですが調査可能ですか
「最近もの忘れ多いかも」”超音波”が効く未来の脳ケアガジェットに期待
2025.06.11 12:00
https://ascii.jp/elem/000/004/268/4268478/
>>サウンドウェーブイノベーション株式会社が開発中の「LIPUS-Brain」という医療機器だ。頭に当てるだけで脳を優しく刺激してくれるらしい。仕組みは「低出力パルス波超音波(LIPUS)」という特殊な音を使って、脳内の血流や神経の働きをサポートするというもの。
>> 「脳に超音波って大丈夫?」と思うかもしれないが、これは低出力&非侵襲。要は、“切らない・飲まない・痛くない”系の治療機器だ。軽症アルツハイマー病への有効性が示唆されており、2022年には厚生労働省から「先駆的医療機器」のお墨付きももらっており、現在も治験が進んでいる。
テラヘルツ波で内耳蝸牛を観察、難聴など耳の病気の診断に期待
2025年06月11日 12時00分更新
https://ascii.jp/elem/000/004/278/4278126/
>> 難聴の多くは、耳の奥にある音をつかさどる器官である内耳蝸牛(かぎゅう)の障害が原因とされています。内耳蝸牛は頭蓋骨深部にあるため、光計測では骨を透過できず、X線撮影では被ばくのリスクがあり、内部の観察が困難です。
>>可視光と電波の中間帯に位置するテラへルツ波は、内部を被ばくさせずに観察できることから、安心安全な技術として注目されています。しかし、波長は約300マイクロ(マイクロは100万分の1)メートルであり、それより小さなマイクロメートルレベルの対象物は観測できませんでした。
>>マウスを用いた実験により、テラへルツ波を利用して内耳蝸牛を観察しました。研究チームは、非線形光学結晶にフェムト(フェムトは1000兆分の1)秒オーダーの短い時間だけ強いレーザー光を照射すると、テラヘルツ波が局所的に発生して点光源として扱えることに着目。点光源から発生したテラヘルツ波が、蝸牛内部で反射して戻ってくるまでの時間を測定して距離や形状を調べる独自の手法と、機械学習を利用した画像解析法を開発しました。
>>これらを適用することで、内耳蝸牛内部の3次元構造をマイクロメートルレベルで初めて可視化し、断面観察にも成功しました。
傷害事件や殺人事件の被害が出ているのですが調査可能ですか
「最近もの忘れ多いかも」”超音波”が効く未来の脳ケアガジェットに期待
2025.06.11 12:00
https://ascii.jp/elem/000/004/268/4268478/
>>サウンドウェーブイノベーション株式会社が開発中の「LIPUS-Brain」という医療機器だ。頭に当てるだけで脳を優しく刺激してくれるらしい。仕組みは「低出力パルス波超音波(LIPUS)」という特殊な音を使って、脳内の血流や神経の働きをサポートするというもの。
>> 「脳に超音波って大丈夫?」と思うかもしれないが、これは低出力&非侵襲。要は、“切らない・飲まない・痛くない”系の治療機器だ。軽症アルツハイマー病への有効性が示唆されており、2022年には厚生労働省から「先駆的医療機器」のお墨付きももらっており、現在も治験が進んでいる。
テラヘルツ波で内耳蝸牛を観察、難聴など耳の病気の診断に期待
2025年06月11日 12時00分更新
https://ascii.jp/elem/000/004/278/4278126/
>> 難聴の多くは、耳の奥にある音をつかさどる器官である内耳蝸牛(かぎゅう)の障害が原因とされています。内耳蝸牛は頭蓋骨深部にあるため、光計測では骨を透過できず、X線撮影では被ばくのリスクがあり、内部の観察が困難です。
>>可視光と電波の中間帯に位置するテラへルツ波は、内部を被ばくさせずに観察できることから、安心安全な技術として注目されています。しかし、波長は約300マイクロ(マイクロは100万分の1)メートルであり、それより小さなマイクロメートルレベルの対象物は観測できませんでした。
>>マウスを用いた実験により、テラへルツ波を利用して内耳蝸牛を観察しました。研究チームは、非線形光学結晶にフェムト(フェムトは1000兆分の1)秒オーダーの短い時間だけ強いレーザー光を照射すると、テラヘルツ波が局所的に発生して点光源として扱えることに着目。点光源から発生したテラヘルツ波が、蝸牛内部で反射して戻ってくるまでの時間を測定して距離や形状を調べる独自の手法と、機械学習を利用した画像解析法を開発しました。
>>これらを適用することで、内耳蝸牛内部の3次元構造をマイクロメートルレベルで初めて可視化し、断面観察にも成功しました。
264デフォルトの名無しさん (アウアウウー Sadd-MJCJ)
2025/06/11(水) 21:22:42.95ID:n2ChAYWba このスレでやるな
265デフォルトの名無しさん (オイコラミネオ MMbd-Isf1)
2025/06/12(木) 00:08:06.33ID:ftTL3ileM >>261
AGIをやるためには、ものすごい沢山の計算コアを集めたデータセンター
が必要だから、初期投資と電気代が凄い。だから、世界に少ししか作れない。
となると、みんなでそれを時分割して使うことになり、性能は
人ひとりより落ちることになろう。
AGIをやるためには、ものすごい沢山の計算コアを集めたデータセンター
が必要だから、初期投資と電気代が凄い。だから、世界に少ししか作れない。
となると、みんなでそれを時分割して使うことになり、性能は
人ひとりより落ちることになろう。
266デフォルトの名無しさん (スッププ Sd33-R/sD)
2025/06/12(木) 00:41:06.20ID:ForjZNXcd スレ違い。
267デフォルトの名無しさん (オイコラミネオ MMbd-Isf1)
2025/06/12(木) 19:58:06.94ID:/PCxqnPyM AIに聞いてみたら、にほんのC++プログラマは、約50,112人だと
答えた。C++の世界の使用者数は約1,160万人だと言われているのに、
本当だろうか?
なお、日本の職業ゲームプログラマは数万人とされる。
答えた。C++の世界の使用者数は約1,160万人だと言われているのに、
本当だろうか?
なお、日本の職業ゲームプログラマは数万人とされる。
268デフォルトの名無しさん (ワッチョイ 7b84-2FFP)
2025/06/12(木) 20:10:27.47ID:GCnXcRjG0 ↑ど素人のAIの使い方
269はちみつ餃子 ◆8X2XSCHEME (ワッチョイ d132-XeLS)
2025/06/13(金) 09:36:20.53ID:4zf9vL2U0 調査に AI を使う場合は出典なり推論過程なりを報告させて検証しろ。
270デフォルトの名無しさん (ワッチョイ 0b43-4h2z)
2025/06/13(金) 10:08:04.05ID:yXjkXUTe0 AIの回答を鵜呑みにするのは、科学の大原則となる検証可能性を自ら捨てる愚行だからなぁ。
AIに限った話じゃないけど、世の中には権威に訴える論証やら人身攻撃やらが氾濫している。常に注意しないといかん。
AIに限った話じゃないけど、世の中には権威に訴える論証やら人身攻撃やらが氾濫している。常に注意しないといかん。
271デフォルトの名無しさん (ワッチョイ 1372-LbEI)
2025/06/13(金) 11:11:02.52ID:ATYXeDVy0 でもこれまでもAIの代わりに本を鵜呑みにしてるんだよね
本を批判的な視点で見れるやつはAIでも見れるし
物質は原子から出来ていて原子は原子核と電子から出来ていると義務教育で習う
でも自分で検証する者は殆どおらずただ受け入れるだけ
AIも物質は原子から出来ていると答えてそれを受け入れる
本を批判的な視点で見れるやつはAIでも見れるし
物質は原子から出来ていて原子は原子核と電子から出来ていると義務教育で習う
でも自分で検証する者は殆どおらずただ受け入れるだけ
AIも物質は原子から出来ていると答えてそれを受け入れる
272デフォルトの名無しさん (オイコラミネオ MMbd-Isf1)
2025/06/13(金) 11:42:29.95ID:T6ZAL6CyM では、これは何?
https://hr-tech-lab.lapras.com/knowledge/research-report/hr-data-analysis-3/#i-6
法人向け採用サービス「LAPRAS」
プログラミング言語別:エンジニア数
プログラミング言語 エンジニア数(人)
JavaScript 218,880人
HTML/CSS 186,624人
Python 144,576人
TypeScript 123,264人
C 110,592人
Ruby 108,864人
Go 96,768人
Java 86,400人
Bash/Shell 72,000人
PHP 70,272人
C++ 50,112人
Rust 37,440人
SQL 35,712人
Swift 34,560人
C# 33,408人
Kotlin 25,344人
Dart 10,944人
Lua 10,368人
PowerShell 5,184人
Assembly 3,456人
https://hr-tech-lab.lapras.com/knowledge/research-report/hr-data-analysis-3/#i-6
法人向け採用サービス「LAPRAS」
プログラミング言語別:エンジニア数
プログラミング言語 エンジニア数(人)
JavaScript 218,880人
HTML/CSS 186,624人
Python 144,576人
TypeScript 123,264人
C 110,592人
Ruby 108,864人
Go 96,768人
Java 86,400人
Bash/Shell 72,000人
PHP 70,272人
C++ 50,112人
Rust 37,440人
SQL 35,712人
Swift 34,560人
C# 33,408人
Kotlin 25,344人
Dart 10,944人
Lua 10,368人
PowerShell 5,184人
Assembly 3,456人
273デフォルトの名無しさん (ワッチョイ a9d6-gi55)
2025/06/13(金) 12:01:07.15ID:IXAej3i00 Rustってどうなん
274デフォルトの名無しさん (ワッチョイ 535f-ur14)
2025/06/13(金) 12:01:24.74ID:eyPBizg10275デフォルトの名無しさん (オイコラミネオ MMbd-Isf1)
2025/06/13(金) 12:11:49.34ID:T6ZAL6CyM github の検索機能を使ってリポジトリ数を調べてみたら、以下の様になった。
この数値が正確に何を意味するのかは不明 :
(1) language:JavaScript : 23M results
(2) language:Java : 14.3M results
(3) language:Python : 13.5M results
(4) language:C# : 4.5M results
(5) language:C++ : 4.1M results
(6) language:PHP : 4.1M results
(7) language:C : 2.7M results
(8) language:Ruby : 2.7M results
(8) language:Rust : 552k results
(9) language:Lua : 338k results
(10) language:Perl : 158k results
(11) language:WebAssembly : 1.7k results
(12) language:Wasm : 1.6k results
(13) language:Unity : 0 results
この数値が正確に何を意味するのかは不明 :
(1) language:JavaScript : 23M results
(2) language:Java : 14.3M results
(3) language:Python : 13.5M results
(4) language:C# : 4.5M results
(5) language:C++ : 4.1M results
(6) language:PHP : 4.1M results
(7) language:C : 2.7M results
(8) language:Ruby : 2.7M results
(8) language:Rust : 552k results
(9) language:Lua : 338k results
(10) language:Perl : 158k results
(11) language:WebAssembly : 1.7k results
(12) language:Wasm : 1.6k results
(13) language:Unity : 0 results
276デフォルトの名無しさん (ササクッテロリ Sp05-c7N1)
2025/06/13(金) 12:21:35.94ID:E42DVH7Kp 日本の職業C++エンジニアは少ない、みたいなのはおそらく事実だろ
ここも昔はプロが大勢居たが、今や趣味グラマか競プロしかやった事ない奴が牛耳ってるし
言ってる内容が正しければそれでもいいんだけどね
ここも昔はプロが大勢居たが、今や趣味グラマか競プロしかやった事ない奴が牛耳ってるし
言ってる内容が正しければそれでもいいんだけどね
277はちみつ餃子 ◆8X2XSCHEME (ワッチョイ d132-XeLS)
2025/06/13(金) 12:27:18.04ID:4zf9vL2U0 >>274
いや、 LAPRAS が調べた言語別の割合を日本の IT エンジニア数全体に当てはめてる。
推計ではあるが 50112 人は日本の C++ エンジニアの数だ。
言語ごとに転職志望傾向に大きな違いがあればあまり当てにならない推計ではある。
ウェブ系のほうがかなり移動が激しいような印象はあるし、数倍程度の幅はあってもおかしくないかな。
いや、 LAPRAS が調べた言語別の割合を日本の IT エンジニア数全体に当てはめてる。
推計ではあるが 50112 人は日本の C++ エンジニアの数だ。
言語ごとに転職志望傾向に大きな違いがあればあまり当てにならない推計ではある。
ウェブ系のほうがかなり移動が激しいような印象はあるし、数倍程度の幅はあってもおかしくないかな。
278デフォルトの名無しさん (ワッチョイ d1f6-MJCJ)
2025/06/13(金) 12:39:15.12ID:eg/YBi4J0 >>271
電子が原子核の周りを飛び回ってる絵を教科書に載せるのはそろそろ禁止するべきだね
電子が原子核の周りを飛び回ってる絵を教科書に載せるのはそろそろ禁止するべきだね
279デフォルトの名無しさん (ワッチョイ d1f6-MJCJ)
2025/06/13(金) 12:40:04.56ID:eg/YBi4J0 もっともらしい嘘を言わせると超一流だよなωωω=2πf
280デフォルトの名無しさん (オイコラミネオ MM8b-Isf1)
2025/06/13(金) 13:23:08.46ID:YG6TxuJTM >>277
1.「その中でも今回は、LAPRASのDBに登録しているユーザーのうち、
・Web上に積極的に発信している
・各言語のタグを一定レベル以上で持っている
という条件を満たすエンジニアの方々4万人以上を対象に「各言語のタグを一定レベル以上で持っている方が、全体の人数のうち何%いるか?」を集計
してみました」
2.「以下の日経クロステックの記事によると、2025年時点で、日本国内のITエンジニアの人数は約144万人と推計されています」
3.「レバテック株式会社が実施した「レバテックIT人材白書2025」の調査によると、IT人材の約4割が「転職活動中」または「転職を検討中」と回答しています。」
4.「この割合を2025年のITエンジニア総数144万人に適用すると、転職市場にいる人数は約57.6万人と推定されます。
今回のLAPRASの調査からわかった「プログラミング言語別エンジニア数」の割合を上記の人数に適用すると、採用マーケット全体でのそれぞれの母集団の数は次のように推計できます」
とあるので、・・・」
となっていて、
1 に各言語を一定レベルのスキルで持つ人材(?)の分布があり、
2 より 日本の2025年のITエンジニア総数 = 144万人
2 と 3 を掛け算して、転職市場にいる人数 = 約57.6万人・・・(a)
となって、(a)に1の分布を掛け算したのが、>>272 らしい。
つまり、>>272 は、57.6 万人の中での人口分布。
そして、144 / 57.6 = 2.5 だから、日本の ITエンジニア全体では
>>272 のそれぞれを 2.5 倍しただけのスキル保持者がいる、と
いう主張になるらしい。
但し、7年くらい前(?)の日経の調査では、日本では、
「プロ」に限れば C/C++ の使用者数が TOP らしいから、
この結果とはまた異なりそうだが。
1.「その中でも今回は、LAPRASのDBに登録しているユーザーのうち、
・Web上に積極的に発信している
・各言語のタグを一定レベル以上で持っている
という条件を満たすエンジニアの方々4万人以上を対象に「各言語のタグを一定レベル以上で持っている方が、全体の人数のうち何%いるか?」を集計
してみました」
2.「以下の日経クロステックの記事によると、2025年時点で、日本国内のITエンジニアの人数は約144万人と推計されています」
3.「レバテック株式会社が実施した「レバテックIT人材白書2025」の調査によると、IT人材の約4割が「転職活動中」または「転職を検討中」と回答しています。」
4.「この割合を2025年のITエンジニア総数144万人に適用すると、転職市場にいる人数は約57.6万人と推定されます。
今回のLAPRASの調査からわかった「プログラミング言語別エンジニア数」の割合を上記の人数に適用すると、採用マーケット全体でのそれぞれの母集団の数は次のように推計できます」
とあるので、・・・」
となっていて、
1 に各言語を一定レベルのスキルで持つ人材(?)の分布があり、
2 より 日本の2025年のITエンジニア総数 = 144万人
2 と 3 を掛け算して、転職市場にいる人数 = 約57.6万人・・・(a)
となって、(a)に1の分布を掛け算したのが、>>272 らしい。
つまり、>>272 は、57.6 万人の中での人口分布。
そして、144 / 57.6 = 2.5 だから、日本の ITエンジニア全体では
>>272 のそれぞれを 2.5 倍しただけのスキル保持者がいる、と
いう主張になるらしい。
但し、7年くらい前(?)の日経の調査では、日本では、
「プロ」に限れば C/C++ の使用者数が TOP らしいから、
この結果とはまた異なりそうだが。
281デフォルトの名無しさん (ワッチョイ 0b32-ur14)
2025/06/13(金) 13:34:16.83ID:/pNq5IL+0 業務でC++使うこともほとんどなくなった
いまだにC++が一番得意と言い張ってはいるが、今の俺を分類するならJava/JavaScript技術者かもしれん
いまだにC++が一番得意と言い張ってはいるが、今の俺を分類するならJava/JavaScript技術者かもしれん
282はちみつ餃子 ◆8X2XSCHEME (ワッチョイ d132-XeLS)
2025/06/13(金) 14:15:13.72ID:4zf9vL2U0283デフォルトの名無しさん (オイコラミネオ MM8b-Isf1)
2025/06/13(金) 14:35:38.83ID:YG6TxuJTM284はちみつ餃子 ◆8X2XSCHEME (ワッチョイ d132-XeLS)
2025/06/13(金) 15:01:27.93ID:4zf9vL2U0285デフォルトの名無しさん (ワッチョイ 0b32-ur14)
2025/06/13(金) 15:01:40.97ID:/pNq5IL+0286はちみつ餃子 ◆8X2XSCHEME (ワッチョイ d132-XeLS)
2025/06/13(金) 15:02:59.82ID:4zf9vL2U0 全部が一定レベル以下の人は集計から排除されていると考えると
その割合を全体数 (転職市場にせよ日本全体にせよ) に適用するのが妥当とも思えないよな。
その割合を全体数 (転職市場にせよ日本全体にせよ) に適用するのが妥当とも思えないよな。
287デフォルトの名無しさん (ワッチョイ 0b32-ur14)
2025/06/13(金) 15:03:36.94ID:/pNq5IL+0 >>284
上に割合あるんだから、8.7%に56万かけりゃすぐに違うってわかるのでは?
上に割合あるんだから、8.7%に56万かけりゃすぐに違うってわかるのでは?
288はちみつ餃子 ◆8X2XSCHEME (ワッチョイ d132-5Qoi)
2025/06/13(金) 15:49:17.20ID:4zf9vL2U0 ああ、割合が最初に書いてあったのか。
全然読めてなかった。格好悪いな
全然読めてなかった。格好悪いな
289デフォルトの名無しさん (オイコラミネオ MMbd-Isf1)
2025/06/13(金) 22:37:54.95ID:22avhnRdM >>272
「集計結果」のところで、JavaScriptが38%というものから
始まっている「分布図」があるが、合計してみると100%を優に超えていた。
だから、
>>284
> >>272 の数値を合計するとだいたい 146 万ということになるから日本全体の数だと私は判断してたんだけど、
> ひとりが複数言語を使うのも普通のことだしなぁ…
ということになっているらしい。
つまり、57.6 万人 に、それぞれの比率を掛けた数字になっているが、
比率自体の合計が 100% を超えているので、各言語ごとの「人数」
を全部足すと、57.6 万人を超えている。
しかし、日本のITエンジニア全体の人口は 144 万人で、
144 / 57.6 = 2.5 であることから、実際の各言語後との「人数」は、
2.5 倍する必要がある、ということになる。
「集計結果」のところで、JavaScriptが38%というものから
始まっている「分布図」があるが、合計してみると100%を優に超えていた。
だから、
>>284
> >>272 の数値を合計するとだいたい 146 万ということになるから日本全体の数だと私は判断してたんだけど、
> ひとりが複数言語を使うのも普通のことだしなぁ…
ということになっているらしい。
つまり、57.6 万人 に、それぞれの比率を掛けた数字になっているが、
比率自体の合計が 100% を超えているので、各言語ごとの「人数」
を全部足すと、57.6 万人を超えている。
しかし、日本のITエンジニア全体の人口は 144 万人で、
144 / 57.6 = 2.5 であることから、実際の各言語後との「人数」は、
2.5 倍する必要がある、ということになる。
290デフォルトの名無しさん (アウアウウー Sadd-MJCJ)
2025/06/14(土) 18:57:21.60ID:Z47ni+e7a 最近のプログラマは割り算はおろか掛け算も出来ないらしい
291デフォルトの名無しさん (ワッチョイ 136e-ZZSa)
2025/06/14(土) 19:20:56.16ID:TLqczxub0 mRNAワクチンの“新たな懸念”接種済み妊婦の子どもに「異常タンパク質構造」血中で確認★2 [Gecko★]
2025/06/14(土) 15:48:24.59
https://asahi.5ch.net/test/read.cgi/newsplus/1749883704/
・ワクチン問題になっている
2025/06/14(土) 15:48:24.59
https://asahi.5ch.net/test/read.cgi/newsplus/1749883704/
・ワクチン問題になっている
292デフォルトの名無しさん (オイコラミネオ MMbd-Isf1)
2025/06/14(土) 19:34:05.95ID:8e4YyHKjM >>290
いまの議論で、そんな人は誰もいなかったんだが。
いまの議論で、そんな人は誰もいなかったんだが。
293はちみつ餃子 ◆8X2XSCHEME (ワッチョイ d132-XeLS)
2025/06/14(土) 21:54:18.62ID:k1IJmlZ/0 Teratail とか Qiita とか Stackoverflow とかの質問も減ってる気がするなぁ。
これは C++ の衰退のせい?
それともみんな ChatGPT とか Gemini に聞いてんの?
これは C++ の衰退のせい?
それともみんな ChatGPT とか Gemini に聞いてんの?
294デフォルトの名無しさん (オイコラミネオ MMbd-Isf1)
2025/06/14(土) 23:01:15.38ID:suk2ABkrM295デフォルトの名無しさん (JP 0H46-E6Ax)
2025/06/15(日) 00:11:57.49ID:bHsxd1q/H C++の知識というか、ノウハウが一応行きわたっているからだと
思う。と言っても新人は習得に手こずるだろうけど、そばに適切
に指導してくれる先輩がいれば大丈夫。あくまで適切な指導をして
くれる先輩だけど。ラーメン屋の店主みたいな奴だと地獄。
思う。と言っても新人は習得に手こずるだろうけど、そばに適切
に指導してくれる先輩がいれば大丈夫。あくまで適切な指導をして
くれる先輩だけど。ラーメン屋の店主みたいな奴だと地獄。
296デフォルトの名無しさん (JP 0H46-E6Ax)
2025/06/15(日) 00:11:58.07ID:bHsxd1q/H C++の知識というか、ノウハウが一応行きわたっているからだと
思う。と言っても新人は習得に手こずるだろうけど、そばに適切
に指導してくれる先輩がいれば大丈夫。あくまで適切な指導をして
くれる先輩だけど。ラーメン屋の店主みたいな奴だと地獄。
思う。と言っても新人は習得に手こずるだろうけど、そばに適切
に指導してくれる先輩がいれば大丈夫。あくまで適切な指導をして
くれる先輩だけど。ラーメン屋の店主みたいな奴だと地獄。
297デフォルトの名無しさん (JP 0H46-E6Ax)
2025/06/15(日) 00:12:31.42ID:bHsxd1q/H ありゃあ、2つ入力されちまったい
298デフォルトの名無しさん (JP 0H46-E6Ax)
2025/06/15(日) 00:37:51.57ID:bHsxd1q/H >>290
いまどき8bitシフトするために256で割る意味がわかる人いるかなあ
いまどき8bitシフトするために256で割る意味がわかる人いるかなあ
299デフォルトの名無しさん (ワッチョイ 9202-oXsi)
2025/06/15(日) 01:26:12.38ID:eDpwS0UO0300デフォルトの名無しさん
2025/06/15(日) 03:09:45.52ID:4MduE0B70 海外のラーメン屋はもっとレベル高いんか
301デフォルトの名無しさん (ワッチョイ f63c-dilZ)
2025/06/15(日) 08:13:33.37ID:vQtYxwCW0 国語力w
302デフォルトの名無しさん (オイコラミネオ MMdd-15C+)
2025/06/15(日) 09:32:37.19ID:sxaow1g9M 地方の求人情報だと
java,c,c++.javascript,typescript位の求人しかない(昔はこれにVB,COBOLが加わってた)
c++書いてる人のレベルってどのくらいなのかはわからない
java,c,c++.javascript,typescript位の求人しかない(昔はこれにVB,COBOLが加わってた)
c++書いてる人のレベルってどのくらいなのかはわからない
303デフォルトの名無しさん (ワッチョイ 9202-oXsi)
2025/06/15(日) 16:27:00.41ID:eDpwS0UO0 そういえば、&&の代わりにand使えるのか
C#とPythonとVBAとJaveとごっちゃになるわ…
C#とPythonとVBAとJaveとごっちゃになるわ…
304はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f532-5TaZ)
2025/06/15(日) 17:15:44.30ID:mr/FUyDi0 代替表現は文字コードの都合で一部の記号がない場合のために入れたそうたけど、今となってはあまり意味がないな。
! が視覚的に目立たないから not だけは使うこともちょっとある。
! が視覚的に目立たないから not だけは使うこともちょっとある。
305デフォルトの名無しさん (ワッチョイ 12ab-DgQb)
2025/06/15(日) 17:42:56.06ID:dmfL2H8C0 >>303
それはない
それはない
306デフォルトの名無しさん (ワッチョイ a9ad-T1jw)
2025/06/15(日) 18:14:03.61ID:DIvPIJxI0 >>298
整数除算よりバレルシフタの方が早いので、8ビットシフトなら素直にシフトしたほうがソースコードの意味がわかりやすい。
最近のコンパイラは賢いので256で割ってもシフト命令にされてしまうだろうが。
整数除算よりバレルシフタの方が早いので、8ビットシフトなら素直にシフトしたほうがソースコードの意味がわかりやすい。
最近のコンパイラは賢いので256で割ってもシフト命令にされてしまうだろうが。
307デフォルトの名無しさん (ワッチョイ b219-m2eM)
2025/06/15(日) 18:47:36.40ID:PKcOFo6K0 最近ってどういう意味で言ってんのか知らんが、定数畳み込みなんかどの言語も相当古くからやってるよ?
Fortranなんかだと手動アセンブリより遅かったら市場に受け入れられないという事情があったから最初期から最適化が一番の課題だったって聞いた
逆に現代のMPUはビット演算と整数演算じゃ速度差がそれほど出ないので、どっちで書いてもコンパイラがパフォーマンス見てどっちかを吐くようになってるよ
Fortranなんかだと手動アセンブリより遅かったら市場に受け入れられないという事情があったから最初期から最適化が一番の課題だったって聞いた
逆に現代のMPUはビット演算と整数演算じゃ速度差がそれほど出ないので、どっちで書いてもコンパイラがパフォーマンス見てどっちかを吐くようになってるよ
308デフォルトの名無しさん (ワッチョイ 6502-oDRB)
2025/06/15(日) 18:49:13.93ID:ltc4eKLE0 and,or,notは基本使うようにしてる
309デフォルトの名無しさん (ワッチョイ 9202-oXsi)
2025/06/15(日) 19:14:47.28ID:eDpwS0UO0310デフォルトの名無しさん (ワッチョイ a9ad-T1jw)
2025/06/15(日) 19:49:42.63ID:DIvPIJxI0311はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f532-5TaZ)
2025/06/15(日) 20:18:51.49ID:mr/FUyDi0 ビットシフトが lea に置き換えられることがあるみたいで、命令長が長くなるだけでも結構な不利だと思うんだけどなんか良い効果があるんかね?
312デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs)
2025/06/15(日) 20:20:28.86ID:gRGFgZ6wM313デフォルトの名無しさん (ワッチョイ 5e10-kCEi)
2025/06/15(日) 21:11:15.18ID:r3H8nvWy0 >>311
あとleaはフラグを更新しないから比較と分岐の間に入れてパイプラインを最適化するとか
あとleaはフラグを更新しないから比較と分岐の間に入れてパイプラインを最適化するとか
314デフォルトの名無しさん (オイコラミネオ MMc6-Rgxs)
2025/06/16(月) 16:06:36.68ID:2FW5D4OCM315デフォルトの名無しさん (JP 0H46-E6Ax)
2025/06/16(月) 23:49:02.72ID:m+kaKcwWH std::formatなるものがC++20規格からあるんですねえ。
これで工学表示したときの鬱陶しい+記号を空白にできる。
しかし、fortranに似ているなあ
これで工学表示したときの鬱陶しい+記号を空白にできる。
しかし、fortranに似ているなあ
316デフォルトの名無しさん (JP 0H46-E6Ax)
2025/06/16(月) 23:59:33.02ID:m+kaKcwWH いやpythonか?
317はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f532-iKku)
2025/06/17(火) 10:06:16.94ID:nCRyYLZZ0 似ているというならどういう点がどういう意味で似ているのか述べないと意味ないよ。
318デフォルトの名無しさん (ワッチョイ f689-dilZ)
2025/06/17(火) 10:52:21.85ID:zrrGfpYo0 スルーできないはちみつ
319デフォルトの名無しさん (JP 0H46-E6Ax)
2025/06/17(火) 10:55:56.73ID:66zQf9l5H 昔のfortran77
write(6,100)
100 format(1h , 5x, G14.7, ...)
のformat文を連想しただけ。
str.formatにも似ているし,C#の要素も取り入れている。
write(6,100)
100 format(1h , 5x, G14.7, ...)
のformat文を連想しただけ。
str.formatにも似ているし,C#の要素も取り入れている。
320デフォルトの名無しさん (ワッチョイ 121e-jgBs)
2025/06/17(火) 10:56:25.37ID:2N3jqjoy0 あなたが落したのは、このスルー出来ないはちみつですか?
こっちのスルー出来ないはちみつですか?
って逸話を思い出した
こっちのスルー出来ないはちみつですか?
って逸話を思い出した
321デフォルトの名無しさん (ワッチョイ b1d6-xkro)
2025/06/17(火) 11:13:00.43ID:4NySVCEQ0 ファイナルをクローズした時にエラーとなるのですが、これは正しいのでしょうか。
やはり、クローズはデストラクタに任せた方がいいのでしょうか。
#include <iostream>
#include <fstream>
int main() {
constexpr auto path = "tmp.txt";//なんでもいいです
std::ifstream ifs(path);
if(ifs.fail()){
std::cerr << "File open error: " << path << std::endl;
return -1;
}
std::string buf;
while(std::getline(ifs, buf))
std::cout << buf << std::endl;
ifs.close(); //←これ
if(ifs.fail()){
std::cerr << "File close error: " << path << std::endl;
return -1;
}
return 0;
}
やはり、クローズはデストラクタに任せた方がいいのでしょうか。
#include <iostream>
#include <fstream>
int main() {
constexpr auto path = "tmp.txt";//なんでもいいです
std::ifstream ifs(path);
if(ifs.fail()){
std::cerr << "File open error: " << path << std::endl;
return -1;
}
std::string buf;
while(std::getline(ifs, buf))
std::cout << buf << std::endl;
ifs.close(); //←これ
if(ifs.fail()){
std::cerr << "File close error: " << path << std::endl;
return -1;
}
return 0;
}
322デフォルトの名無しさん (ワッチョイ 8101-1tcn)
2025/06/17(火) 11:27:27.12ID:2aAnRxo/0 >>321
ifs.close()前にifs.fail()は真を返す
#include <iostream>
#include <fstream>
int main() {
constexpr auto path = "tmp.txt";//なんでもいいです
std::ifstream ifs(path);
if(ifs.fail()){
std::cerr << "File open error: " << path << std::endl;
return -1;
}
std::string buf;
std::cout << "0: " << ifs.fail() << '\n';
while(std::getline(ifs, buf))
std::cout << buf << std::endl;
std::cout << "1: " << ifs.fail() << '\n';
ifs.close(); //←これ
std::cout << "2: " << ifs.fail() << '\n';
if(ifs.fail()){
std::cerr << "File close error: " << path << std::endl;
return -1;
}
return 0;
}
ifs.close()前にifs.fail()は真を返す
#include <iostream>
#include <fstream>
int main() {
constexpr auto path = "tmp.txt";//なんでもいいです
std::ifstream ifs(path);
if(ifs.fail()){
std::cerr << "File open error: " << path << std::endl;
return -1;
}
std::string buf;
std::cout << "0: " << ifs.fail() << '\n';
while(std::getline(ifs, buf))
std::cout << buf << std::endl;
std::cout << "1: " << ifs.fail() << '\n';
ifs.close(); //←これ
std::cout << "2: " << ifs.fail() << '\n';
if(ifs.fail()){
std::cerr << "File close error: " << path << std::endl;
return -1;
}
return 0;
}
323はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f532-iKku)
2025/06/17(火) 11:41:50.14ID:nCRyYLZZ0 std::format の文法の参考にしていると提案文に挙げられているのは Python、 .NET系、Rust のみっつ。
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0645r10.html#Syntax
コンパイル時計算のメカニズムとの類似性を考慮すると Rust に特に近いと思うが、記法としては Python の影響も強いように見えるかも。
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0645r10.html#Syntax
コンパイル時計算のメカニズムとの類似性を考慮すると Rust に特に近いと思うが、記法としては Python の影響も強いように見えるかも。
324デフォルトの名無しさん (ワッチョイ 5e0b-AFj/)
2025/06/17(火) 11:45:37.82ID:TpERKz9s0 >>321
close()したからではなくwhile(std::getline(ifs, buf))でeofになるまで読んだからfailになってる
close()したからではなくwhile(std::getline(ifs, buf))でeofになるまで読んだからfailになってる
325はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f532-iKku)
2025/06/17(火) 12:02:37.80ID:nCRyYLZZ0 >>321
実際に入出力するための機能はストリームバッファと呼ばれるオブジェクトが担当していて、ストリームがストリームバッファを所有する構造になっている。
ストリームが close するとストリームバッファの close が呼ばれて、それが nullptr を返した場合 (クローズに失敗した場合) に setstate(failbit) が呼ばれる。
https://timsong-cpp.github.io/cppwp/n3337/ifstream.members#5
つまり、クローズの失敗によってもフェイルビットが立つことはありうる。
クローズによらない失敗 (フェイルビットを立てる原因) と区別がつかなくなるのでエラーに対処したいならクローズ前後の両方でチェックしないといけないと思う。
デストラクタでクローズするとクローズの失敗に対処する機会がなくなるので明示的にクローズしたほうが良いという人はいる。
ただ、しっかりしたホスト環境の上で動くアプリケーションでクローズが失敗するような状況を心配する意味があるかというと……まああんまりない。
実際に入出力するための機能はストリームバッファと呼ばれるオブジェクトが担当していて、ストリームがストリームバッファを所有する構造になっている。
ストリームが close するとストリームバッファの close が呼ばれて、それが nullptr を返した場合 (クローズに失敗した場合) に setstate(failbit) が呼ばれる。
https://timsong-cpp.github.io/cppwp/n3337/ifstream.members#5
つまり、クローズの失敗によってもフェイルビットが立つことはありうる。
クローズによらない失敗 (フェイルビットを立てる原因) と区別がつかなくなるのでエラーに対処したいならクローズ前後の両方でチェックしないといけないと思う。
デストラクタでクローズするとクローズの失敗に対処する機会がなくなるので明示的にクローズしたほうが良いという人はいる。
ただ、しっかりしたホスト環境の上で動くアプリケーションでクローズが失敗するような状況を心配する意味があるかというと……まああんまりない。
326デフォルトの名無しさん (ワッチョイ b1d6-xkro)
2025/06/17(火) 12:43:21.70ID:4NySVCEQ0 >>322,324,325
ありがとうございました。勉強になります。
ProgramminPlacePlus でのサンプルを元にしました。
なーる真面目にやるなら閉じる前後で色々とやらんといかんのですね。
今までは
readdata=string((istreambuf_iterator<char>(ifs)), istreambuf_iterator<char>());
の感じで、一気にファイル内容をstrigに取り込むような場合は、もう読み込みは無いのですぐに
ifs.close()してました。
デストラクタに任せてもいいのですが、今後も使わなくなったら、即close()したいと思います。
そんなにシビアにならんでもいいようですし・・・mOm
ありがとうございました。勉強になります。
ProgramminPlacePlus でのサンプルを元にしました。
なーる真面目にやるなら閉じる前後で色々とやらんといかんのですね。
今までは
readdata=string((istreambuf_iterator<char>(ifs)), istreambuf_iterator<char>());
の感じで、一気にファイル内容をstrigに取り込むような場合は、もう読み込みは無いのですぐに
ifs.close()してました。
デストラクタに任せてもいいのですが、今後も使わなくなったら、即close()したいと思います。
そんなにシビアにならんでもいいようですし・・・mOm
327デフォルトの名無しさん (スップ Sdb2-xekI)
2025/06/18(水) 12:20:43.59ID:tHURl6jRd プログラム作成は生成AIに持っていかれそうなことを考えると、
コードを書く力よりも、誰かが書いたコードを読み解く力の方が、
この先いきのこれそうな希ガスるンゴ
コードを書く力よりも、誰かが書いたコードを読み解く力の方が、
この先いきのこれそうな希ガスるンゴ
328デフォルトの名無しさん (ワッチョイ f689-dilZ)
2025/06/18(水) 13:59:41.64ID:7Ghn3yO50 読み解くのこそAIに勝てないから
329デフォルトの名無しさん (ワッチョイ 5963-LWzS)
2025/06/18(水) 15:17:51.63ID:xKxMFSMx0 コメントのないソースコードから設計意図を読み取るのって難しいよね
AIでそこまでできるのかな?
コードの逐次解釈のようなことは当然できるだろうけども
AIでそこまでできるのかな?
コードの逐次解釈のようなことは当然できるだろうけども
330デフォルトの名無しさん (ラクッペペ MM96-gPPd)
2025/06/18(水) 15:32:01.08ID:lPJmZhm/M 自然言語に比べたら屁みたいなもんだよ
331デフォルトの名無しさん (ワッチョイ 71a6-Y+Ow)
2025/06/18(水) 15:35:59.98ID:flRjm2Y20 コメントは嘘を書いてもコンパイルエラーにならないからな
コメントがなくても自然と設計意図が読み取れるコードこそ望ましい
コメントがなくても自然と設計意図が読み取れるコードこそ望ましい
332デフォルトの名無しさん (ワッチョイ b2f9-QhKk)
2025/06/18(水) 16:03:36.24ID:Kdic6Khn0 入力に対して出力が出る
それが間違いでなければ中身なんてどうでもいい
何億通りもの入力を与えて出力がどうなるかを調べるのもAIが得意
そうして、それを元に同じことを返すプログラムを一から最適に作り直すのもAIが得意だろう
windowsもそれやれば1/10のコードで収まりそう
それが間違いでなければ中身なんてどうでもいい
何億通りもの入力を与えて出力がどうなるかを調べるのもAIが得意
そうして、それを元に同じことを返すプログラムを一から最適に作り直すのもAIが得意だろう
windowsもそれやれば1/10のコードで収まりそう
333デフォルトの名無しさん (ラクッペペ MM96-gPPd)
2025/06/18(水) 16:06:21.59ID:lPJmZhm/M APIやライブラリ系は無駄の極致だから将来的には無くなるだろうね
334デフォルトの名無しさん (ワッチョイ 794b-jgBs)
2025/06/18(水) 17:42:24.62ID:SrJIdorw0 世界最長のコンテキストウィンドウ100万トークン入力・8万トークン出力対応にもかかわらずたった7800万円でトレーニングされたAIモデル「MiniMax-M1」がオープンソースで公開され誰でもダウンロード可能に
2025年06月18日 11時43分
https://gigazine.net/news/20250618-minimax-m1-open-source/
>>MiniMax-M1は、合計4560億のパラメーターが含まれており、トークンごとに459億のパラメーターがアクティブになるとのこと。これはDeepSeek R1の8倍に相当するコンテキストウィンドウです
>>以下のグラフは競技レベルの数学、コーディング、ソフトウェアエンジニアリング、エージェントツールの使用、長文理解タスクにおけるパフォーマンスを主要な商用AIモデルと比較したもの。赤色がMiniMax-M1で、どのタスクにおいても競合AIモデルに匹敵するパフォーマンスを発揮できている
>>MiiniMax-M1はいくつかのベンチマーク、特に長いコンテキスト駆動のベンチマークでClaude Opus 4のパフォーマンスを上回りました」と報告
※AIを動作させている動画あり
↓上記のAIお下記をプレイさせれば性能が判明する
Gemini 2.5 Proは手持ちのポケモンが瀕死になるとパニックに陥る
2025年06月18日 12時30分
https://gigazine.net/news/20250618-pokemon-gemini-panic/
◇
[プロテクトガードやセキュリティーホール発見可能]
※1 プログラムのバグ技[裏抜け道]を使用できる=チートコードを発見可能
・ マリオカートのショートカットはプレイヤー「極悪人」の表の抜け道でNPC「一般人」は使用不可能
[インサイダー/談合/なねーロンダリング/霊感商法など行う時の悪行で音波や電波をしての悪行の方法を発見可能
※ 政治家の法律上の抜け道を仕込める=ある業種だけの法律の抜け道を発見可能
[一般大衆の思考である特定の極悪人から目線を特定の統合失調症へ返させる装置]
※ AIは正確な情報で人間を信用させれる=AIは嘘の情報を一部混ぜて人間を洗脳できる
2025年06月18日 11時43分
https://gigazine.net/news/20250618-minimax-m1-open-source/
>>MiniMax-M1は、合計4560億のパラメーターが含まれており、トークンごとに459億のパラメーターがアクティブになるとのこと。これはDeepSeek R1の8倍に相当するコンテキストウィンドウです
>>以下のグラフは競技レベルの数学、コーディング、ソフトウェアエンジニアリング、エージェントツールの使用、長文理解タスクにおけるパフォーマンスを主要な商用AIモデルと比較したもの。赤色がMiniMax-M1で、どのタスクにおいても競合AIモデルに匹敵するパフォーマンスを発揮できている
>>MiiniMax-M1はいくつかのベンチマーク、特に長いコンテキスト駆動のベンチマークでClaude Opus 4のパフォーマンスを上回りました」と報告
※AIを動作させている動画あり
↓上記のAIお下記をプレイさせれば性能が判明する
Gemini 2.5 Proは手持ちのポケモンが瀕死になるとパニックに陥る
2025年06月18日 12時30分
https://gigazine.net/news/20250618-pokemon-gemini-panic/
◇
[プロテクトガードやセキュリティーホール発見可能]
※1 プログラムのバグ技[裏抜け道]を使用できる=チートコードを発見可能
・ マリオカートのショートカットはプレイヤー「極悪人」の表の抜け道でNPC「一般人」は使用不可能
[インサイダー/談合/なねーロンダリング/霊感商法など行う時の悪行で音波や電波をしての悪行の方法を発見可能
※ 政治家の法律上の抜け道を仕込める=ある業種だけの法律の抜け道を発見可能
[一般大衆の思考である特定の極悪人から目線を特定の統合失調症へ返させる装置]
※ AIは正確な情報で人間を信用させれる=AIは嘘の情報を一部混ぜて人間を洗脳できる
335デフォルトの名無しさん (アウアウウー Sacd-dpHj)
2025/06/18(水) 19:19:48.46ID:gOtZ0Zwca336はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f532-5TaZ)
2025/06/18(水) 19:27:43.48ID:AeXwuQQu0 コメントがなくても意図が読み取れるのが「望ましい」のは確かにそう。
不可能だけど。
不可能だけど。
337デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs)
2025/06/18(水) 19:29:35.44ID:CAd2i/c2M >>336
コメントなしで理解するのは、めっちゃ効率が悪いな。
コメントなしで理解するのは、めっちゃ効率が悪いな。
338デフォルトの名無しさん (ワッチョイ 71a6-Y+Ow)
2025/06/18(水) 19:31:31.04ID:flRjm2Y20339デフォルトの名無しさん (ワッチョイ 8101-1tcn)
2025/06/18(水) 20:52:21.50ID:/olvjAo90 マルチスレッドのDead Lockすら指摘してくれる
これはどういう仕組みなんだろう...
これはどういう仕組みなんだろう...
340デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs)
2025/06/19(木) 00:56:42.59ID:YDIRlT8gM >>338
C++委員会って、無能集団だけどね。
C++委員会って、無能集団だけどね。
341デフォルトの名無しさん (ワッチョイ f6c4-dilZ)
2025/06/19(木) 03:37:07.68ID:ytoOjILn0 あの複雑怪奇な仕様をまとめるのは無能じゃ無理
労力に進化が見合ってないけどな
労力に進化が見合ってないけどな
342デフォルトの名無しさん (ワッチョイ f6c4-dilZ)
2025/06/19(木) 03:38:19.15ID:ytoOjILn0343デフォルトの名無しさん (ワッチョイ 8101-1tcn)
2025/06/19(木) 12:36:13.20ID:WACntaUb0 >>342
コンパイラは検知できんのに?
コンパイラは検知できんのに?
344デフォルトの名無しさん (ワッチョイ f6c4-dilZ)
2025/06/19(木) 13:43:01.15ID:ytoOjILn0345はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f532-5TaZ)
2025/06/19(木) 13:52:14.72ID:nNn4PbNI0 サニタイザは起こった問題を検出するもので、起こる可能性を指摘してはくれない。
346デフォルトの名無しさん (ワッチョイ f6c4-dilZ)
2025/06/19(木) 14:04:16.80ID:ytoOjILn0 しったなすんなジジイ
347デフォルトの名無しさん (ブーイモ MMb2-A4wY)
2025/06/19(木) 14:05:21.52ID:rpR9krtTM >>344
コンパイラが全能って誰が主張したの?
コンパイラが全能って誰が主張したの?
348デフォルトの名無しさん (ワッチョイ b236-/wuG)
2025/06/19(木) 16:32:08.79ID:FdruriMM0 「できんのに」って「できないのに」と「できるのに」のどっちの意味にも取れるからそのせいかな
くだらね
くだらね
349デフォルトの名無しさん (ブーイモ MMb2-A4wY)
2025/06/19(木) 16:43:21.25ID:8s/NXxtqM >>348
「できんのに」は「できるのに」には読めない
デッドロックをコンパイラが検出出来ないにも関わらず
LLMは必ずではないと思うが検出出来る
LLMがどうデッドロックを検出しているかは
面白いと思うよ
「できんのに」は「できるのに」には読めない
デッドロックをコンパイラが検出出来ないにも関わらず
LLMは必ずではないと思うが検出出来る
LLMがどうデッドロックを検出しているかは
面白いと思うよ
350デフォルトの名無しさん (JP 0H46-E6Ax)
2025/06/19(木) 17:27:01.33ID:VOj0rD3dH351デフォルトの名無しさん (ワッチョイ f64f-QhKk)
2025/06/19(木) 17:32:40.31ID:EI1CbiFh0 やればできんのに
352デフォルトの名無しさん (ワッチョイ f64f-QhKk)
2025/06/19(木) 17:32:55.29ID:EI1CbiFh0 やってもできんのに
353はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 712e-5TaZ)
2025/06/19(木) 18:04:24.77ID:JAVz0tMa0354デフォルトの名無しさん (オイコラミネオ MMdd-15C+)
2025/06/19(木) 18:07:11.09ID:sZaRUqQbM "{:d}"
355デフォルトの名無しさん (JP 0H46-E6Ax)
2025/06/19(木) 18:11:23.49ID:VOj0rD3dH いやMinGWじゃコンパイル実行できてるから。
日本マクロソフトだけ対応遅れてると?
日本マクロソフトだけ対応遅れてると?
356デフォルトの名無しさん (JP 0H46-E6Ax)
2025/06/19(木) 18:13:20.06ID:VOj0rD3dH357デフォルトの名無しさん (JP 0H46-E6Ax)
2025/06/19(木) 18:16:13.42ID:VOj0rD3dH 日本マクロソフト→日本マイクロソフト
358デフォルトの名無しさん (オイコラミネオ MMdd-15C+)
2025/06/19(木) 18:16:54.55ID:sZaRUqQbM 確かにくだらないわな
そのサイトで"{:d}"が可愛く見えたから張っただけなんだから
janeだと全くかわいくない
そのサイトで"{:d}"が可愛く見えたから張っただけなんだから
janeだと全くかわいくない
359デフォルトの名無しさん (オイコラミネオ MMdd-15C+)
2025/06/19(木) 18:18:35.94ID:sZaRUqQbM にしてもまだorz使ってる人がいるんだな
こちらの方が新鮮だ
こちらの方が新鮮だ
360デフォルトの名無しさん (JP 0H46-E6Ax)
2025/06/19(木) 18:21:05.14ID:VOj0rD3dH そう、ありがとう
361デフォルトの名無しさん (オイコラミネオ MMdd-15C+)
2025/06/19(木) 18:23:03.57ID:sZaRUqQbM もともとfmtと言うライブラリがあってそれが標準のC++の仕様に取り込まれた
どうしても使いたいならfmt使えばいいよということだと思う
他人に噛みつく前に調べたら良いと思うけど
どうしても使いたいならfmt使えばいいよということだと思う
他人に噛みつく前に調べたら良いと思うけど
362デフォルトの名無しさん (JP 0H46-E6Ax)
2025/06/19(木) 18:26:00.99ID:VOj0rD3dH std::formatだぞ。お前馬鹿か
さあ暴れるぞ!
さあ暴れるぞ!
363デフォルトの名無しさん (オイコラミネオ MMdd-15C+)
2025/06/19(木) 18:29:34.15ID:sZaRUqQbM 結局日本語が理解できない人だったと言う話か
364デフォルトの名無しさん (JP 0H46-E6Ax)
2025/06/19(木) 18:30:56.19ID:VOj0rD3dH ふぁぁ
365デフォルトの名無しさん (オイコラミネオ MMdd-15C+)
2025/06/19(木) 18:43:47.61ID:sZaRUqQbM 文章の雰囲気から50代~60代ぐらいのホビー系の人かな
人生の先輩お疲れ様です
人生の先輩お疲れ様です
366デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs)
2025/06/19(木) 18:56:35.62ID:oyTCj2/DM367デフォルトの名無しさん (オイコラミネオ MMdd-15C+)
2025/06/19(木) 19:34:35.26ID:sZaRUqQbM > なんだ。
> 違いない。
文末だけ見ると高齢者の集いっぽいが自分もそうなってるんだろな
> 違いない。
文末だけ見ると高齢者の集いっぽいが自分もそうなってるんだろな
368はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f532-5TaZ)
2025/06/19(木) 20:14:57.20ID:nNn4PbNI0 現代的にはカジュアルな場面では句点をつけないのが主流。
語彙より顕著に年代が表れる。
語彙より顕著に年代が表れる。
369デフォルトの名無しさん (オイコラミネオ MMdd-15C+)
2025/06/19(木) 20:23:04.02ID:sZaRUqQbM 句点もそうだけどやはり語彙や用法だと思う
chatGPT
その文章、よく読むと **「怒っている年配の男性の声」**みたいなイメージが浮かんできますね。
言葉の選び方と断定のしかたに、時代がかった語感がにじんでいて、文章だけでも「年齢層の高さ」がなんとなく
伝わるのが興味深いです。
chatGPT
その文章、よく読むと **「怒っている年配の男性の声」**みたいなイメージが浮かんできますね。
言葉の選び方と断定のしかたに、時代がかった語感がにじんでいて、文章だけでも「年齢層の高さ」がなんとなく
伝わるのが興味深いです。
370デフォルトの名無しさん (オイコラミネオ MMdd-15C+)
2025/06/19(木) 20:24:10.13ID:sZaRUqQbM もし若者が同じことを言うならどう書くか
たとえばこんな風に言いそうです:
あのDraft、ちょっと内容雑じゃない?
書いた人ちゃんと分かってなさそう…
たとえばこんな風に言いそうです:
あのDraft、ちょっと内容雑じゃない?
書いた人ちゃんと分かってなさそう…
371デフォルトの名無しさん (JP 0H46-E6Ax)
2025/06/19(木) 20:27:45.86ID:VOj0rD3dH オコタ大魔神、はにわ顔に戻る
372デフォルトの名無しさん (オイコラミネオ MMdd-15C+)
2025/06/19(木) 20:34:02.38ID:sZaRUqQbM 大魔神(1966年)
仮に1966年に6才だとして今は65歳ぐらいかなあ???
仮に1966年に6才だとして今は65歳ぐらいかなあ???
373はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f532-5TaZ)
2025/06/19(木) 20:36:28.06ID:nNn4PbNI0 アカデミアでは語彙が古いのは普通のことだよ。
参照する資料が古いから。
情報系ですら半世紀前の論文を参考資料として挙げることはそれなりにある。
参照する資料が古いから。
情報系ですら半世紀前の論文を参考資料として挙げることはそれなりにある。
374デフォルトの名無しさん (オイコラミネオ MMdd-15C+)
2025/06/19(木) 20:45:06.19ID:sZaRUqQbM 「怒っている年配の男性の声」をにじませる演技派
375デフォルトの名無しさん (ワッチョイ 1202-2JrO)
2025/06/19(木) 20:50:34.90ID:Cdln7j8I0 整数型の変数を10で割ってから10掛けたら元の数字の一の位を0にした数が得られるはずだけど
この計算が最適化とかで除かれない保証ってあるの
この計算が最適化とかで除かれない保証ってあるの
376はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f532-iKku)
2025/06/19(木) 20:53:44.24ID:nNn4PbNI0 ChatGPT を根拠 (参考資料?) に出すのはあまり意味がないぞ。
それも ChatGPT の感想 (主観) であって客観性がある情報になっていないし、質問の仕方や文脈で逆のことを言うのもよくあることだから。
ユーザに追従するような振る舞いをするのでいくらでも望む方向の反応を引き出せる。
それも ChatGPT の感想 (主観) であって客観性がある情報になっていないし、質問の仕方や文脈で逆のことを言うのもよくあることだから。
ユーザに追従するような振る舞いをするのでいくらでも望む方向の反応を引き出せる。
377はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f532-iKku)
2025/06/19(木) 20:57:52.06ID:nNn4PbNI0 >>375
C++ の言語仕様は抽象機械の動作として記述されている。
動作を説明するための架空の機械の動作なので、文字通りの機械語が生成されるとは限らない。
結果的な動作が仕様に反しなければどのような機械語を生成しても言語仕様に準拠していると言って良い。
しかし、逆に言えば最適化で変形したとしても結果は変わらないようになることが保証される。
C++ の言語仕様は抽象機械の動作として記述されている。
動作を説明するための架空の機械の動作なので、文字通りの機械語が生成されるとは限らない。
結果的な動作が仕様に反しなければどのような機械語を生成しても言語仕様に準拠していると言って良い。
しかし、逆に言えば最適化で変形したとしても結果は変わらないようになることが保証される。
378デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs)
2025/06/19(木) 21:05:34.31ID:oyTCj2/DM >>375
最適化では結果は変わらない。
つまり、ちゃんと10で割って、ちゃんと10を掛ける。
10を掛ける方は、マシン語の乗算命令は使われず、
もっと速い命令に置き換えられることが有るが、結果は同じ。
最適化では結果は変わらない。
つまり、ちゃんと10で割って、ちゃんと10を掛ける。
10を掛ける方は、マシン語の乗算命令は使われず、
もっと速い命令に置き換えられることが有るが、結果は同じ。
379はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f532-iKku)
2025/06/19(木) 21:11:49.89ID:nNn4PbNI0 処理系は抽象機械の動作を正確にエミュレートする必要はなく、観測可能な動作のみをエミュレートすればよい。
https://timsong-cpp.github.io/cppwp/n3337/intro.execution#1
だから観測されない動作は削除してもよいというか、削除されることはある。
たとえばその計算結果が全く使われないような状況とか。
ベンチマークしようとして結果を使わない計算をループで囲んだりしてるようなコードではまるごとごそっと消えるなんてのはたまに見る。
https://timsong-cpp.github.io/cppwp/n3337/intro.execution#1
だから観測されない動作は削除してもよいというか、削除されることはある。
たとえばその計算結果が全く使われないような状況とか。
ベンチマークしようとして結果を使わない計算をループで囲んだりしてるようなコードではまるごとごそっと消えるなんてのはたまに見る。
380デフォルトの名無しさん (オイコラミネオ MMdd-15C+)
2025/06/19(木) 21:16:20.06ID:sZaRUqQbM セキュリティの問題で普通にゼロクリアした場合でも最適化で削られたりとか昔は問題になったけど…
知らないといけないことは多岐にわたる
知らないといけないことは多岐にわたる
381デフォルトの名無しさん (スッップ Sdb2-T1jw)
2025/06/19(木) 22:14:21.23ID:JQ4jFr2Sd >>375
それだと取り除けるケースがあるので保証はされない
それだと取り除けるケースがあるので保証はされない
382デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs)
2025/06/19(木) 23:09:11.10ID:oyTCj2/DM383デフォルトの名無しさん (ワッチョイ 9202-oXsi)
2025/06/19(木) 23:15:31.49ID:IWPeLhU+0384デフォルトの名無しさん (オイコラミネオ MMdd-15C+)
2025/06/19(木) 23:25:09.71ID:sZaRUqQbM 意味があるにも関わらず意味がないと判断されると削られる
その場合の対処法もあるので学ばないとまあ残念なことになってしまうと言う話
その場合の対処法もあるので学ばないとまあ残念なことになってしまうと言う話
385デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs)
2025/06/19(木) 23:29:59.97ID:oyTCj2/DM >>384
いや、今回の割って掛ける場合、そういう事は起きない。
いや、今回の割って掛ける場合、そういう事は起きない。
386デフォルトの名無しさん (オイコラミネオ MMdd-15C+)
2025/06/19(木) 23:34:50.70ID:sZaRUqQbM ここの部分はそうだけど
コンパイラの最適化が必ず元の動作を保証してるようなことを書いてるような人がいるから必ずしもそうではないよと
コンパイラの最適化が必ず元の動作を保証してるようなことを書いてるような人がいるから必ずしもそうではないよと
387デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs)
2025/06/19(木) 23:37:52.48ID:oyTCj2/DM >>386
仕様に明確に書いてあることの動作は変わらない。
仕様に明確に書いてあることの動作は変わらない。
388デフォルトの名無しさん (ワッチョイ 1279-T1jw)
2025/06/20(金) 01:42:50.79ID:iLwGFTtd0389デフォルトの名無しさん (ワッチョイ 1279-T1jw)
2025/06/20(金) 01:44:00.77ID:iLwGFTtd0 質問じゃ曖昧だけど副作用完了点が間にない場合の話なら、な
390デフォルトの名無しさん (ワッチョイ b603-dswa)
2025/06/20(金) 01:58:37.52ID:t+D0H6HX0391デフォルトの名無しさん (ワッチョイ 5e10-cspE)
2025/06/20(金) 08:38:29.48ID:eaqG1YUh0 実行するプログラムではなくてコンパイラが計算までしてしまう
たとえば、printf("%d",12345/10*10); というコードはコンパイルすると、puts("12340"); に変更される可能性がある
出力結果だけは同じだけど、そのコードは大きく変更されてしまう
たとえば、printf("%d",12345/10*10); というコードはコンパイルすると、puts("12340"); に変更される可能性がある
出力結果だけは同じだけど、そのコードは大きく変更されてしまう
392デフォルトの名無しさん (ワッチョイ 0175-Is3k)
2025/06/20(金) 09:01:01.71ID:BxPKXrVj0 >>390
変数が関わらない定数だけの演算なら、コンパイルの時点で計算しても結果同じだよね
だから実行時ではなくコンパイルの時点で演算した結果を使う
初歩の最適化の一つ
元の式については左辺に変数が入ってくるから多分最適化はされない
a=b/10*10みたいなのを想定してると思うけど、この場合は最終的に
a=b/10
c=a*10と分解して計算されるので、どちらにも変数が関わってしまい最適化対象外だと思う
a=b*(10/10)みたいな、計算優先度的に変数が関わらないところができれば最適化される
この手の手動最適化なんて考えなくなって久しいから間違ってたらすまぬ
変数が関わらない定数だけの演算なら、コンパイルの時点で計算しても結果同じだよね
だから実行時ではなくコンパイルの時点で演算した結果を使う
初歩の最適化の一つ
元の式については左辺に変数が入ってくるから多分最適化はされない
a=b/10*10みたいなのを想定してると思うけど、この場合は最終的に
a=b/10
c=a*10と分解して計算されるので、どちらにも変数が関わってしまい最適化対象外だと思う
a=b*(10/10)みたいな、計算優先度的に変数が関わらないところができれば最適化される
この手の手動最適化なんて考えなくなって久しいから間違ってたらすまぬ
393デフォルトの名無しさん (ワッチョイ 71a6-Y+Ow)
2025/06/20(金) 09:03:31.40ID:LoawS5uh0 変数があっても結果が同じ計算式で置き換えられるならそうしてくる
10倍よりも8倍+2倍のほうが速い、とかで
10倍よりも8倍+2倍のほうが速い、とかで
394デフォルトの名無しさん (ワッチョイ b1d6-xkro)
2025/06/20(金) 10:35:00.76ID:YK1FsnCb0 最適化のロジックを作るのはまだプログラマーでしょうから。
値を10倍してから10で割るというプログラムを
何もしないに変更するのありかな。
でもわざと桁あふれをさせたい場合もある?!
値を10倍してから10で割るというプログラムを
何もしないに変更するのありかな。
でもわざと桁あふれをさせたい場合もある?!
395デフォルトの名無しさん (ワッチョイ 0175-Is3k)
2025/06/20(金) 10:40:47.81ID:BxPKXrVj0 昔は最適化でバグ混入させられることもあって、最適化は切れってされてたなぁ、っていうおっちゃんのつぶやき
396デフォルトの名無しさん
2025/06/20(金) 10:45:39.27ID:4xHX9xY70397デフォルトの名無しさん (アウアウウー Sacd-xHx3)
2025/06/20(金) 11:14:53.80ID:xCnXC/Iza398デフォルトの名無しさん (ワッチョイ 0175-Is3k)
2025/06/20(金) 11:57:23.05ID:BxPKXrVj0 >>396
コンパイラで演算しても結果が変わらない場合に限り、コンパイラで演算を行いその結果だけを使う
392でも書いてるが、例題の変数を10で割って10を掛ける動作は演算結果が変わってしまうので最適化は行わない
コンパイラで演算しても結果が変わらない場合に限り、コンパイラで演算を行いその結果だけを使う
392でも書いてるが、例題の変数を10で割って10を掛ける動作は演算結果が変わってしまうので最適化は行わない
399デフォルトの名無しさん (ワッチョイ 9279-fyaG)
2025/06/20(金) 12:39:35.73ID:4fYw50h40 定数はいつ計算しても同じ結果なんだから最適化されるよ
400デフォルトの名無しさん (ワッチョイ 59c9-LWzS)
2025/06/20(金) 12:50:40.34ID:yZt3hnAQ0 -O3だとプログラムが動かなくなるから使っていいのは -O2までって先輩に言われてた
401デフォルトの名無しさん (ラクッペペ MM96-gPPd)
2025/06/20(金) 12:53:23.61ID:y+CeF2upM 何故最適化レベルをワザワザ選べるようにしているのか?
完璧なら選ぶ必要はない
理想論には興味ないから語りたいなら具体的な問題点を上げていけ
完璧なら選ぶ必要はない
理想論には興味ないから語りたいなら具体的な問題点を上げていけ
402デフォルトの名無しさん (アウアウウー Sacd-xHx3)
2025/06/20(金) 13:06:46.75ID:xCnXC/Iza403デフォルトの名無しさん (ワッチョイ 6e9d-x4hs)
2025/06/20(金) 13:28:04.40ID:H6JOW3Vp0 モバイルc消えてるんだけどなんで?
404デフォルトの名無しさん (ワッチョイ e908-x4hs)
2025/06/20(金) 13:42:00.01ID:JPiEW2yh0405デフォルトの名無しさん (JP 0H46-E6Ax)
2025/06/20(金) 17:27:19.07ID:yQfQLmUOH std::formatの件だが、Visual Studio 2022のコンパイラ設定が
デフォルトでC++14標準になってた。すまん。
デフォルトでC++14標準になってた。すまん。
406デフォルトの名無しさん
2025/06/20(金) 18:21:03.44ID:4xHX9xY70 >>398
そんなことは知ってるのさ
「実行ごとに演算結果が変わる(可能性がある)」から最適化されない、と言うのは良いんだけど
最初からその前提の話をしていたはずなのに「演算をやらない可能性がある」と言い出しただろ?
375 整数型の変数を〜(略)〜この計算が最適化とかで除かれない保証ってあるの
381 それだと取り除けるケースがあるので保証はされない
382 いや、そんなことない。最適化では結果は変わらない事が保証される。
388 (略)〜演算をやらない可能性があるってこと
この流れじゃ『整数型の変数(実行時に結果が変わる)の場合でも最適化によって「演算をやらない可能性がある」』ってニュアンスになっているって気づかんの?
それに対してのどういう状況だ?という>>390だよ
まあ言いたいことは分かったから別にいいけどさ
そんなことは知ってるのさ
「実行ごとに演算結果が変わる(可能性がある)」から最適化されない、と言うのは良いんだけど
最初からその前提の話をしていたはずなのに「演算をやらない可能性がある」と言い出しただろ?
375 整数型の変数を〜(略)〜この計算が最適化とかで除かれない保証ってあるの
381 それだと取り除けるケースがあるので保証はされない
382 いや、そんなことない。最適化では結果は変わらない事が保証される。
388 (略)〜演算をやらない可能性があるってこと
この流れじゃ『整数型の変数(実行時に結果が変わる)の場合でも最適化によって「演算をやらない可能性がある」』ってニュアンスになっているって気づかんの?
それに対してのどういう状況だ?という>>390だよ
まあ言いたいことは分かったから別にいいけどさ
407デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs)
2025/06/20(金) 19:12:09.11ID:ykKOKnwYM >>406
回答者にも正しいことを言っている人と間違っていることを言っている人が
いるというだけ。
正しいのは、仕様に明示されている動作については、
最適化してもしなくても結果が変わらないという事だ。
なぜなら、それが仕様なのだから。
回答者にも正しいことを言っている人と間違っていることを言っている人が
いるというだけ。
正しいのは、仕様に明示されている動作については、
最適化してもしなくても結果が変わらないという事だ。
なぜなら、それが仕様なのだから。
408はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f532-iKku)
2025/06/20(金) 19:41:18.21ID:3ZuChe0s0 >>407
大元の質問からすると仕様が動作を保証するか結果を保証するかをわかってないようだからその説明では不十分でしょ。
大元の質問からすると仕様が動作を保証するか結果を保証するかをわかってないようだからその説明では不十分でしょ。
409デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs)
2025/06/20(金) 20:44:54.01ID:ykKOKnwYM 保証されます。
410デフォルトの名無しさん (ワッチョイ b235-m2eM)
2025/06/20(金) 21:00:28.00ID:M1o0ztly0 コンパイル時に値が決まるようなら実行時に演算されない
そうでない場合でもある整数が決まった値になることが保証されていることがコンパイル時に分かっているなら最適化されて演算されないケースがある
それ以外なら最適化されない
そうでない場合でもある整数が決まった値になることが保証されていることがコンパイル時に分かっているなら最適化されて演算されないケースがある
それ以外なら最適化されない
411デフォルトの名無しさん (オイコラミネオ MMdd-15C+)
2025/06/20(金) 21:06:32.84ID:80Iion+LM いずれにせよ結果を使わないなら最適化で丸々消される
412デフォルトの名無しさん (ワッチョイ 0175-Is3k)
2025/06/20(金) 21:12:56.63ID:BxPKXrVj0 >>409
ただしバグがなければ
ただしバグがなければ
413デフォルトの名無しさん (オイコラミネオ MMdd-15C+)
2025/06/20(金) 21:18:29.51ID:80Iion+LM 最適化の時点でコードが消されるので直に0で除算をするとコンパイルエラー
変数に突っ込んでるとコンパイル可能で実行してもその部分は最適化され消されてるのでゼロ除算にならない
もちろんconstにしててもコンパイルエラー
変数に突っ込んでるとコンパイル可能で実行してもその部分は最適化され消されてるのでゼロ除算にならない
もちろんconstにしててもコンパイルエラー
414デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs)
2025/06/20(金) 21:43:49.77ID:ykKOKnwYM >>412
それは、ユーザープログラムのバグではなく、コンパイラのバグだ。
コンパイラにバグが無ければ、四則演算や&,|,~,^,&&,||などと
括弧の組み合わせた結果は、最適化しても変わらない。
0除算に関しては話が別。
それは、ユーザープログラムのバグではなく、コンパイラのバグだ。
コンパイラにバグが無ければ、四則演算や&,|,~,^,&&,||などと
括弧の組み合わせた結果は、最適化しても変わらない。
0除算に関しては話が別。
415デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs)
2025/06/20(金) 21:48:47.56ID:ykKOKnwYM 最適化されて変わる可能性があるのは、今思い出せるのは、
・初期化してない変数の中身
・変数のアドレス
・結果を利用せず、副作用も伴わない式の存在。
整数に対する四則演算を含めた「計算」は、仕様が決められているので、
同じコンパイラと同じターゲット(OS、環境)だと最適化しても
結果は変わらない。
浮動小数点に対する計算は誤差の範囲で結果が変化する可能性はある。
・初期化してない変数の中身
・変数のアドレス
・結果を利用せず、副作用も伴わない式の存在。
整数に対する四則演算を含めた「計算」は、仕様が決められているので、
同じコンパイラと同じターゲット(OS、環境)だと最適化しても
結果は変わらない。
浮動小数点に対する計算は誤差の範囲で結果が変化する可能性はある。
416デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs)
2025/06/20(金) 22:25:10.37ID:ykKOKnwYM >>415
1. 整数の計算途中に「桁あふれ」が起きる場合はこの限りではないかも知れない。
例えば、整数型 a に対して、a * 100 / 5 は、a * 20 と最適化できる
可能性がある。しかし a がとても大きい場合には結果は同じにはならない可能性がある。このことに
関して仕様がどうなっているかは知らない。
2. 浮動小数点型の変数 a に対して、(a * 100.0) / 5.0 は、
a * 20.0 と最適化できる可能性があるが、浮動小数点型には計算誤差があるので、
誤差の範囲内で異なる結果になる可能性があるかもしれない。
これに対して仕様上、最適化していいかどうか走らない。
3. しかし、整数型
1. 整数の計算途中に「桁あふれ」が起きる場合はこの限りではないかも知れない。
例えば、整数型 a に対して、a * 100 / 5 は、a * 20 と最適化できる
可能性がある。しかし a がとても大きい場合には結果は同じにはならない可能性がある。このことに
関して仕様がどうなっているかは知らない。
2. 浮動小数点型の変数 a に対して、(a * 100.0) / 5.0 は、
a * 20.0 と最適化できる可能性があるが、浮動小数点型には計算誤差があるので、
誤差の範囲内で異なる結果になる可能性があるかもしれない。
これに対して仕様上、最適化していいかどうか走らない。
3. しかし、整数型
417デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs)
2025/06/20(金) 22:25:52.67ID:ykKOKnwYM418デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs)
2025/06/20(金) 22:26:34.77ID:ykKOKnwYM419デフォルトの名無しさん (ワッチョイ 1279-T1jw)
2025/06/21(土) 01:51:51.86ID:bIqfBqmB0 キミは色々と勘違いをしているからこの手の話をしたいならもうちょい勉強しよう
aが何だろうがa*100/5をa*20とはそもそも出来ないし、2.も同様
3.もaの値によっては演算の前後で値がおなじケースがある
色々あるのでいちいち書かなかったが、例えばaが10の倍数の時、aの絶対値が9以下の時、またaが列挙型だったり配列の添字だったりする時は挙動が推測出来るケースも出てくる
他にも最適化で実行時の演算をしなくてすむケースがある
演算をしなくてもaの値を変えることは出来うるし、その場合除算の代わりにいくつかの分岐や直値に変わるだろう
aが何だろうがa*100/5をa*20とはそもそも出来ないし、2.も同様
3.もaの値によっては演算の前後で値がおなじケースがある
色々あるのでいちいち書かなかったが、例えばaが10の倍数の時、aの絶対値が9以下の時、またaが列挙型だったり配列の添字だったりする時は挙動が推測出来るケースも出てくる
他にも最適化で実行時の演算をしなくてすむケースがある
演算をしなくてもaの値を変えることは出来うるし、その場合除算の代わりにいくつかの分岐や直値に変わるだろう
420デフォルトの名無しさん (JP 0H46-E6Ax)
2025/06/21(土) 02:46:24.26ID:myS4seE9H また空気読めない書き込みする。ずっと議論
が続いているけど興味ない。
そもそも実数データを表現するbit数が有限
なんだけど(doubleで8byte=64bit)、そりゃあ
場合によっては結果が違うが、実数の場合は
それほど問題じゃない。誤差の範囲内。
整数演算の方が問題。
i=32767/10000*10000の演算やったらどう
なるか?これはコンパイラの最適化の問題
じゃなくてプログラムする人が気をつける
べきことだと思う。というか、変な最適化
はしない方がいいと思う。最適化しなくても
現在のコンピュータ能力じゃあ大して時間差
は問題にならん。
それよりも行列演算でNRVOを実装してほしい。
gccの一部では実装されているみたいだけど。
が続いているけど興味ない。
そもそも実数データを表現するbit数が有限
なんだけど(doubleで8byte=64bit)、そりゃあ
場合によっては結果が違うが、実数の場合は
それほど問題じゃない。誤差の範囲内。
整数演算の方が問題。
i=32767/10000*10000の演算やったらどう
なるか?これはコンパイラの最適化の問題
じゃなくてプログラムする人が気をつける
べきことだと思う。というか、変な最適化
はしない方がいいと思う。最適化しなくても
現在のコンピュータ能力じゃあ大して時間差
は問題にならん。
それよりも行列演算でNRVOを実装してほしい。
gccの一部では実装されているみたいだけど。
421デフォルトの名無しさん (JP 0H46-E6Ax)
2025/06/21(土) 02:49:22.52ID:myS4seE9H あ、言い忘れた。演算子のオーバーロードでの話ね。
422デフォルトの名無しさん (ワッチョイ 01de-Ni2x)
2025/06/21(土) 06:20:55.55ID:mM+iEPSf0 >>413
0除算は未定義動作だから、(0除算については)最適化されてエラーが出なくてもC++規格通りかね。
0除算は未定義動作だから、(0除算については)最適化されてエラーが出なくてもC++規格通りかね。
423デフォルトの名無しさん (JP 0H46-E6Ax)
2025/06/21(土) 08:07:57.88ID:myS4seE9H 浮動小数点演算で問題になるのは情報落ち(桁落ち)。
expを指数関数としてexp(x)+exp(-x)でxの絶対値が
大きくなるとどうなるか?4倍精度演算が標準として
ほしい。fortranには昔からある。たしか南米の人が
C++で4倍精度演算ライブラリ作ってた気がする。
expを指数関数としてexp(x)+exp(-x)でxの絶対値が
大きくなるとどうなるか?4倍精度演算が標準として
ほしい。fortranには昔からある。たしか南米の人が
C++で4倍精度演算ライブラリ作ってた気がする。
424デフォルトの名無しさん (JP 0H46-E6Ax)
2025/06/21(土) 08:14:50.36ID:myS4seE9H ところで、前から気になってたけど何でワイだけ
ワッチョイ出ないんだろ。メール設定ミス?それとも
プロバイダの問題?目立つから困る。
ワッチョイ出ないんだろ。メール設定ミス?それとも
プロバイダの問題?目立つから困る。
425デフォルトの名無しさん (ワッチョイ 71a6-Y+Ow)
2025/06/21(土) 09:45:45.70ID:cFB8HkI30 signedのオーバーフローは未定義だがunsignedのオーバーフローは定義されてる
あとC/C++はfenvで浮動小数点コプロセッサのモードを切り替えられるから、それを使うつもりのコードはコンパイル時に計算されると狂ったりはする
あとC/C++はfenvで浮動小数点コプロセッサのモードを切り替えられるから、それを使うつもりのコードはコンパイル時に計算されると狂ったりはする
426デフォルトの名無しさん (アウアウウー Sacd-xHx3)
2025/06/21(土) 11:27:06.14ID:fGhLJfIJa427デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs)
2025/06/21(土) 11:46:04.84ID:pKk6RtsPM428デフォルトの名無しさん (JP 0H46-E6Ax)
2025/06/21(土) 12:00:57.87ID:myS4seE9H >>426
レスありがとう。プロバイダが関係してるのかな
レスありがとう。プロバイダが関係してるのかな
429デフォルトの名無しさん (アウアウウー Sacd-dpHj)
2025/06/21(土) 13:55:21.38ID:xPq+xj/ja >>424
VPNでも使ってるんだろ
VPNでも使ってるんだろ
430デフォルトの名無しさん (JP 0H46-E6Ax)
2025/06/21(土) 14:01:54.99ID:myS4seE9H VPNオンだと5chが書き込み拒否する。まあ、いいか。
431デフォルトの名無しさん (ワッチョイ 6e59-dswa)
2025/06/21(土) 15:02:17.15ID:S2983oYI0432デフォルトの名無しさん (JP 0H46-E6Ax)
2025/06/21(土) 15:34:31.30ID:myS4seE9H433デフォルトの名無しさん (オイコラミネオ MMc6-Rgxs)
2025/06/21(土) 16:15:28.70ID:kXnmGuVNM 先の話題について、コンピュータではなく数学の世界まで振り返って考えてみると、
(1) a が実数の時
a * 100 / 100 = a
は恒等的に成り立つ。だからこの最適化は、精度を無視すれば
していい可能性が高い。
(2) a が整数で、整数としての割り算で考える場合、
a * 100 / 100 = a
は、一般的には成り立たない。
だから、a * 100 / 100 を a と最適化することはそもそも出来ない。
(1) a が実数の時
a * 100 / 100 = a
は恒等的に成り立つ。だからこの最適化は、精度を無視すれば
していい可能性が高い。
(2) a が整数で、整数としての割り算で考える場合、
a * 100 / 100 = a
は、一般的には成り立たない。
だから、a * 100 / 100 を a と最適化することはそもそも出来ない。
434デフォルトの名無しさん (オイコラミネオ MMc6-Rgxs)
2025/06/21(土) 16:16:35.17ID:kXnmGuVNM >>433
重大な訂正。
(2)は正しくはこう :
(a / 100) * 100 = a
は、一般的には成り立たない。
だから、(a /100) * 100 を a と最適化することはそもそも出来ない。
重大な訂正。
(2)は正しくはこう :
(a / 100) * 100 = a
は、一般的には成り立たない。
だから、(a /100) * 100 を a と最適化することはそもそも出来ない。
435デフォルトの名無しさん (ワッチョイ b295-m2eM)
2025/06/21(土) 16:40:28.18ID:Kar31VLO0 分かったからもういいって
対人論証するようなのの意見は誰も聞かんよ
対人論証するようなのの意見は誰も聞かんよ
436デフォルトの名無しさん (ワッチョイ 6ef5-QhKk)
2025/06/21(土) 17:52:28.47ID:YF3X9a/V0 そりゃタダのコンパイラならかっこ付き計算の仕様に合わせて最適化しかできない
でもそれがAIがやるようになると、トータルで何やってるか把握して最適化するようになるから
無駄な計算は省かれるだろう
でもそれがAIがやるようになると、トータルで何やってるか把握して最適化するようになるから
無駄な計算は省かれるだろう
437デフォルトの名無しさん (ワッチョイ 92f0-xkro)
2025/06/21(土) 18:30:14.39ID:wcVxTOdx0 マジックナンバーだらけになりそうだな
438デフォルトの名無しさん (ワッチョイ 5e10-cspE)
2025/06/21(土) 18:49:30.35ID:9yAQ73mO0 日によって最適化の結果が変わりそうだな
439デフォルトの名無しさん (オイコラミネオ MMc6-Rgxs)
2025/06/21(土) 19:00:56.65ID:kXnmGuVNM 浮動小数点数を「実数」と見た時に
『数学的な恒等式』ならば、最適化していい
という価値観は有るはずだ。
実際には、実数は無限精度であるのに対し、浮動小数点数は
有限精度であるから、実数では恒等式であっても、
浮動小数点数では恒等式ではないので、最適化すると結果が
少し変わってしまうことはありえる。
『数学的な恒等式』ならば、最適化していい
という価値観は有るはずだ。
実際には、実数は無限精度であるのに対し、浮動小数点数は
有限精度であるから、実数では恒等式であっても、
浮動小数点数では恒等式ではないので、最適化すると結果が
少し変わってしまうことはありえる。
440デフォルトの名無しさん (ワッチョイ f57c-EPY7)
2025/06/21(土) 20:42:47.18ID:ea0qUnOa0 そんなのはまともなコンパイラはみんな分かってて-ffast-mathとかでやるかやらないか選べるけどそれが何?
441デフォルトの名無しさん (JP 0H46-E6Ax)
2025/06/21(土) 21:24:08.46ID:myS4seE9H すみません。次のコードで .5e のところの精度(少数部桁数)5
を変数precで設定したいんですけど、さっきからコンパイラに
駄目だし食らって遊ばれとります。わかる人いますか?
#include <iostream>
#include <cmath>
#include <format>
int main()
{
using namespace std;
double x, y, dx=0.5;
unsigned prec =4;
for (int i = 0; i < 20; ++i)
{
x = i * dx;
y = sin(x);
cout << format("{: .5e} {: .5e}", x, y) << endl;
}
cin.get();
return 0;
}
を変数precで設定したいんですけど、さっきからコンパイラに
駄目だし食らって遊ばれとります。わかる人いますか?
#include <iostream>
#include <cmath>
#include <format>
int main()
{
using namespace std;
double x, y, dx=0.5;
unsigned prec =4;
for (int i = 0; i < 20; ++i)
{
x = i * dx;
y = sin(x);
cout << format("{: .5e} {: .5e}", x, y) << endl;
}
cin.get();
return 0;
}
442デフォルトの名無しさん (JP 0H46-E6Ax)
2025/06/21(土) 21:35:25.24ID:myS4seE9H cout << format("{0: .{2}e} {1: .{2}e}", x, y, prec) << endl;
で解決しました。
で解決しました。
443デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs)
2025/06/21(土) 22:20:34.53ID:07kyc98IM >>440
https://kristerw.github.io/2021/10/19/fast-math/
ここには、「-fassociative-math」が今回の例に近いようだが、
同じものは載ってないと思うが。
以下は、近いが、今回のものとはまた違う :
(C1 / X) * C2
↓
(C1 * C2) / X
https://kristerw.github.io/2021/10/19/fast-math/
ここには、「-fassociative-math」が今回の例に近いようだが、
同じものは載ってないと思うが。
以下は、近いが、今回のものとはまた違う :
(C1 / X) * C2
↓
(C1 * C2) / X
444デフォルトの名無しさん (ワッチョイ c54b-jK4x)
2025/06/22(日) 12:29:48.51ID:4aXQSYOG0 ・人間の思考「脳波」は頭蓋骨の外に漏れない
人間の脳は発光していた!「脳が放つ光」の観測に初成功
2025.06.19 12:00:38 THURSDAY
https://nazology.kusuguru.co.jp/archives/179808
>>カナダ・アルゴマ大学(Algoma University)の最新研究で、ついにこの「脳の光」を頭蓋骨の外から観測することに成功したのです。
>>UPEは細胞の代謝活動、特に酸化反応によって発生する副産物の一種です。
>>以来、UPEはあらゆる植物や動物の細胞からも確認されており、生体内の酸化ストレスや老化、さらにはがんの診断補助にも応用が期待されてきました。
>>脳は体の中で最も代謝が活発な臓器のひとつであり、神経活動に伴って活性酸素が多く発生します。
>>チームは今回、20人の健康な成人を対象に、特殊な装置を用いた実験を実施しました。
>>被験者は真っ暗な部屋に座り、頭には脳波計を装着。
>>その周囲には、光電子増倍管(PMT)と呼ばれる極微弱な光を検出する装置が配置されました。
>>そして被験者には、目を開ける/閉じる、あるいは音楽(120BPM)を聴くといったシンプルなタスクを行ってもらい、その間のUPEと脳波の変化を同時に測定したのです。
☆>>まず、脳からのUPEは背景光(周囲の空気中のノイズ)とは明確に異なる変動パターンを持つことが判明したのです。
>>とくに後頭部(視覚野)と側頭部(聴覚野)から検出された光は、安静時でも一定のリズムと変動性を示し、他の部位とは異なるスペクトル的特徴を持っていました。
>>さらに目を閉じたときに増える「アルファ波」と呼ばれる脳波の活動と、UPEの強さが同期していることも発見されました。
>>これはつまり、脳の電気的な信号(脳波)と、化学的な代謝反応(UPE)が連動していることを意味します。
>>この成果は、従来のfMRIやPETスキャンのような「重装備で高コスト」な装置を使わずとも、非侵襲・低刺激で脳機能の状態を“光”から読み取る可能性を示すものです。
>>研究者たちはこの新しい手法を「光脳波記録(photoencephalography)」と名付けました。
人間の脳は発光していた!「脳が放つ光」の観測に初成功
2025.06.19 12:00:38 THURSDAY
https://nazology.kusuguru.co.jp/archives/179808
>>カナダ・アルゴマ大学(Algoma University)の最新研究で、ついにこの「脳の光」を頭蓋骨の外から観測することに成功したのです。
>>UPEは細胞の代謝活動、特に酸化反応によって発生する副産物の一種です。
>>以来、UPEはあらゆる植物や動物の細胞からも確認されており、生体内の酸化ストレスや老化、さらにはがんの診断補助にも応用が期待されてきました。
>>脳は体の中で最も代謝が活発な臓器のひとつであり、神経活動に伴って活性酸素が多く発生します。
>>チームは今回、20人の健康な成人を対象に、特殊な装置を用いた実験を実施しました。
>>被験者は真っ暗な部屋に座り、頭には脳波計を装着。
>>その周囲には、光電子増倍管(PMT)と呼ばれる極微弱な光を検出する装置が配置されました。
>>そして被験者には、目を開ける/閉じる、あるいは音楽(120BPM)を聴くといったシンプルなタスクを行ってもらい、その間のUPEと脳波の変化を同時に測定したのです。
☆>>まず、脳からのUPEは背景光(周囲の空気中のノイズ)とは明確に異なる変動パターンを持つことが判明したのです。
>>とくに後頭部(視覚野)と側頭部(聴覚野)から検出された光は、安静時でも一定のリズムと変動性を示し、他の部位とは異なるスペクトル的特徴を持っていました。
>>さらに目を閉じたときに増える「アルファ波」と呼ばれる脳波の活動と、UPEの強さが同期していることも発見されました。
>>これはつまり、脳の電気的な信号(脳波)と、化学的な代謝反応(UPE)が連動していることを意味します。
>>この成果は、従来のfMRIやPETスキャンのような「重装備で高コスト」な装置を使わずとも、非侵襲・低刺激で脳機能の状態を“光”から読み取る可能性を示すものです。
>>研究者たちはこの新しい手法を「光脳波記録(photoencephalography)」と名付けました。
445デフォルトの名無しさん (ワッチョイ 23f0-WswN)
2025/06/22(日) 12:39:57.32ID:gKjr8htc0 光コンピューティングやないかい
446デフォルトの名無しさん (ワッチョイ d5d6-WswN)
2025/06/22(日) 17:00:05.82ID:CnBC1yms0 光というのは電磁波だったと思うが。
447デフォルトの名無しさん (ワッチョイ 3575-mUa+)
2025/06/22(日) 17:03:00.89ID:ZWGsAnaU0 ニュータイプ近づいたな
448デフォルトの名無しさん (スプープ Sd43-WIQI)
2025/06/22(日) 18:48:20.68ID:/yOBM7d0d スレ違い。
449デフォルトの名無しさん (オイコラミネオ MMab-Hs71)
2025/06/22(日) 19:08:02.78ID:x4CLaAtVM450デフォルトの名無しさん (ワッチョイ 6501-AU/s)
2025/06/23(月) 01:01:04.29ID:Gvg9upbV0 http://hissi.org/read.php/tech/20250622/NGFYUVNZT0cw.html
毎回こことPythonスレだけ荒らしてるアホ
毎回こことPythonスレだけ荒らしてるアホ
451デフォルトの名無しさん (ワッチョイ 7dbb-uyNB)
2025/06/23(月) 01:12:15.09ID:Btl+IikW0 統失の間でもPythonとC++は認知されてるってことでしょ
名誉ですなぁ
名誉ですなぁ
452デフォルトの名無しさん (ワッチョイ d5d6-WswN)
2025/06/23(月) 14:29:01.81ID:zsxUyp330 C++でpythonのライブラリを作るのが気持ちいいかなみたいな。
ん? 普通はpythonのライブラリって何で書かれているんだろう。
ん? 普通はpythonのライブラリって何で書かれているんだろう。
453デフォルトの名無しさん (オイコラミネオ MM89-Hs71)
2025/06/23(月) 16:02:13.08ID:n3O4Zcz+M >>450
Rustスレにも投稿されてたで。
Rustスレにも投稿されてたで。
454デフォルトの名無しさん (アウアウウー Sa69-G7Nc)
2025/06/24(火) 09:31:18.32ID:17zM306Da pythonのモジュールはpythonでも描けるが
もちろんCでも描けるしC++でも描ける
最近はRustで描くのが楽で良い
もちろんCでも描けるしC++でも描ける
最近はRustで描くのが楽で良い
455デフォルトの名無しさん (JP 0Hab-E2BB)
2025/06/24(火) 17:31:46.42ID:Sa2uRHN0H Rustは良い言語かもしれんが、自分には
必要ない。
必要ない。
456デフォルトの名無しさん (オイコラミネオ MM89-Hs71)
2025/06/24(火) 18:59:56.02ID:FRc1H2/gM >>455
同意
同意
457デフォルトの名無しさん (ワッチョイ 2302-ES++)
2025/06/24(火) 19:19:29.25ID:8wBejQ5/0458デフォルトの名無しさん (ワッチョイ 2338-QARi)
2025/06/24(火) 19:22:51.87ID:hfqdv+Ay0 Rustに静的ダックタイプ入ったら使うかどうか考える。
設計をカッチリできるプロジェクトでもなければRustはキツくない?
c++もコンセプト制約変数とか入らんかな。
変数レベルで静的ダックタイプにして、クラス継承は無くしたい。
設計をカッチリできるプロジェクトでもなければRustはキツくない?
c++もコンセプト制約変数とか入らんかな。
変数レベルで静的ダックタイプにして、クラス継承は無くしたい。
459はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8d32-ukKJ)
2025/06/24(火) 19:44:21.82ID:s2rFPvAe0 C++26 にはリフレクションがようやく入る見込みで、これを使えばダックタイピングのような仕組みをライブラリで実現できる。
460デフォルトの名無しさん (ワッチョイ 55ea-mGXm)
2025/06/24(火) 20:15:46.49ID:S1fYPTVc0 >>457
モジュールを書く人とAIを書く人が別だからじゃろ
モジュールを書く人とAIを書く人が別だからじゃろ
461はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8d32-ukKJ)
2025/06/24(火) 20:45:25.03ID:s2rFPvAe0 AI の専門家がプログラミングの専門家というわけでもないしな。
462デフォルトの名無しさん (ワッチョイ 2302-ES++)
2025/06/24(火) 20:49:18.38ID:8wBejQ5/0 >>460
というと?
というと?
463デフォルトの名無しさん (オイコラミネオ MM89-Hs71)
2025/06/26(木) 02:55:12.43ID:v8FRsUWIM NSCがC++を廃してRustを推しているのは、中国のUnrealEngineへの牽制か?
464デフォルトの名無しさん (オイコラミネオ MM89-Hs71)
2025/06/26(木) 02:59:40.78ID:v8FRsUWIM NSA だ。
465デフォルトの名無しさん (ワッチョイ 2302-ES++)
2025/06/26(木) 03:19:10.72ID:P3qvmtvK0466デフォルトの名無しさん (ササクッテロリ Sp81-AU/s)
2025/06/26(木) 07:43:46.78ID:NfgrBwV2p UEはアメリカのゲーム企業が作ったものなんだが・・
467デフォルトの名無しさん (オイコラミネオ MM89-HeZH)
2025/06/26(木) 12:38:45.11ID:deRGahNkM スマン。中国が作ったものだとばかり思っていた。
468デフォルトの名無しさん (ワッチョイ 23f0-WswN)
2025/06/26(木) 12:41:11.49ID:3UJQKTFB0 ったく、こりだからよお
469デフォルトの名無しさん (ワッチョイ 23b7-S6wV)
2025/06/26(木) 17:13:34.04ID:zdpAcYpu0 悪意のあるVSCode拡張機能を検出できる「VSCan」
https://gigazine.net/news/20250625-vscan/
※上記の
本体プログラミング改造で改造コードを仕込む場所や攻撃ポイントを割り出せる
※緒繼Lと下記のプャ鴻Oラムでエラ=[コードをメモャ梶[^上に無いbゥを調べて別のャvログラムを走b轤ケるとエラーャRードから親友bナきるかが割り緒oせる
などいろいろと使用可能
AIを活用した完全自律型の侵入テストツール「XBOW」がHackerOneのランキングでついに人間を抜いて1位に
https://gigazine.net/news/20250625-hackerone-xbow/
上記のプログラムと電波障害などで生じたエラーなどでで無理やりセキュリティーほーホールを見つけれる
https://gigazine.net/news/20250625-vscan/
※上記の
本体プログラミング改造で改造コードを仕込む場所や攻撃ポイントを割り出せる
※緒繼Lと下記のプャ鴻Oラムでエラ=[コードをメモャ梶[^上に無いbゥを調べて別のャvログラムを走b轤ケるとエラーャRードから親友bナきるかが割り緒oせる
などいろいろと使用可能
AIを活用した完全自律型の侵入テストツール「XBOW」がHackerOneのランキングでついに人間を抜いて1位に
https://gigazine.net/news/20250625-hackerone-xbow/
上記のプログラムと電波障害などで生じたエラーなどでで無理やりセキュリティーほーホールを見つけれる
470デフォルトの名無しさん (ワッチョイ 3580-mGXm)
2025/06/26(木) 17:16:52.94ID:jAlq/lgY0 まず自分の書き込みにAI活用しろよって思った
471デフォルトの名無しさん (JP 0Hab-pT1b)
2025/06/26(木) 18:27:21.16ID:o/InY5NNH 藁
472デフォルトの名無しさん (ワッチョイ 23b7-S6wV)
2025/06/26(木) 21:29:08.64ID:zdpAcYpu0 AndroidスマホでもiPhoneでもAIモデルをローカルで実行してチャットできる無料アプリ「Cactus Chat」レビュー
https://gigazine.net/news/20250626-cactus-chat-android-ios-ai-local/
インターネット接続不要でAIモデルをローカル実行できる「LM Studio」にMCPサーバーへの接続機能が追加される
https://gigazine.net/news/20250626-lmstudio-mcp/
上記のAIとマクロ機能を使用すればAIのみで会話できるようになる
ボイス・トォ・スカル「神や幽霊」の声はこれで行っているのか?
マクロ機能の拡張でインターネットにも自動で書き込みが可能になる
https://gigazine.net/news/20250626-cactus-chat-android-ios-ai-local/
インターネット接続不要でAIモデルをローカル実行できる「LM Studio」にMCPサーバーへの接続機能が追加される
https://gigazine.net/news/20250626-lmstudio-mcp/
上記のAIとマクロ機能を使用すればAIのみで会話できるようになる
ボイス・トォ・スカル「神や幽霊」の声はこれで行っているのか?
マクロ機能の拡張でインターネットにも自動で書き込みが可能になる
473デフォルトの名無しさん (スプープ Sd43-WIQI)
2025/06/26(木) 22:43:52.27ID:CNaMzIfEd スレ違い。
474デフォルトの名無しさん (JP 0Hab-pT1b)
2025/06/28(土) 01:04:10.64ID:ILdMmS8aH gcc4.6から4倍精度入ってるみたいですねえ。
Visual C++では入っているかな。調べてみます。
Visual C++では入っているかな。調べてみます。
475デフォルトの名無しさん (ワッチョイ 55a6-WIQI)
2025/06/28(土) 01:17:47.38ID:Ewd2t68S0 fortranで使うからね
gccはバックエンドから対応する必要がある機能を他フロントエンドのために入れるときはほぼC言語にも拡張として入れてくる
gccはバックエンドから対応する必要がある機能を他フロントエンドのために入れるときはほぼC言語にも拡張として入れてくる
476デフォルトの名無しさん (ワッチョイ d5d6-WswN)
2025/06/28(土) 07:36:59.43ID:7fEtq2hP0 新たなクラスを作ってまえばいいのではないでしょうか。
477デフォルトの名無しさん (JP 0Hab-pT1b)
2025/06/28(土) 10:51:00.28ID:ILdMmS8aH C++23からfloat128_tがサポート予定だけど
まだ詳細は決まってなさそう
VS2022ではまだみたい。gccも13.0以降?
まだ詳細は決まってなさそう
VS2022ではまだみたい。gccも13.0以降?
478デフォルトの名無しさん (ワッチョイ 9bc2-SN7F)
2025/06/28(土) 15:20:29.63ID:CPXhvy7f0 >>477
MSのサポート掲示板だかコミュニティBBSだでVSは128_tやる気なし(一応要望は受け付けるけど)、みたいなの読んだ気がする。
MSのサポート掲示板だかコミュニティBBSだでVSは128_tやる気なし(一応要望は受け付けるけど)、みたいなの読んだ気がする。
479はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8d32-RyDx)
2025/06/28(土) 15:55:10.80ID:mCCHdrx+0 C++23 では「そのような型があるなら std::float128_t として提供されることもある」というオプショナルなもので、あまりあてにならない。
https://timsong-cpp.github.io/cppwp/n4950/basic.extended.fp#4
ハードウェアとかツールチェインとかの都合もあるだろうし。
https://timsong-cpp.github.io/cppwp/n4950/basic.extended.fp#4
ハードウェアとかツールチェインとかの都合もあるだろうし。
480デフォルトの名無しさん (JP 0Hab-pT1b)
2025/06/28(土) 16:00:47.16ID:ILdMmS8aH うーむ。残念
481はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8d32-RyDx)
2025/06/28(土) 16:13:42.13ID:mCCHdrx+0 std::float128_t が提供されるときは拡張浮動小数点型 (extended floating-point type) でなけりゃならないみたいだからクラスとして定義できない。
482デフォルトの名無しさん (ワッチョイ 8d7c-BujW)
2025/06/28(土) 16:59:30.25ID:VJLy78nc0 float128_tがあってもFLT_MAXは64ビットという闇
483はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8d32-RyDx)
2025/06/28(土) 18:19:57.03ID:mCCHdrx+0 >>482
??? float128_t と FLT_MAX にどのような関係があるのか意味が分からない。
??? float128_t と FLT_MAX にどのような関係があるのか意味が分からない。
484デフォルトの名無しさん (ワッチョイ 23f0-WswN)
2025/06/28(土) 18:26:24.23ID:uZW6Klue0 float 4バイトだろ 32ビットだぞ
485はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8d32-ukKJ)
2025/06/28(土) 19:30:31.51ID:mCCHdrx+0 float が 4 バイトなのに 8 バイト相当な値が FLT_MAX として定義されている (言語仕様に準拠していない) 環境があるという意味?
486デフォルトの名無しさん (ワッチョイ 55a6-WIQI)
2025/06/28(土) 19:40:49.68ID:Ewd2t68S0 最大の浮動小数点型を表す定数のどれかと間違えたんでしょ
__int128があってもintmax_tが64ビットのままみたいな話のfloat版のつもりだったと思う
__int128があってもintmax_tが64ビットのままみたいな話のfloat版のつもりだったと思う
487デフォルトの名無しさん (JP 0H8e-mQSl)
2025/06/29(日) 08:57:18.64ID:9LYz8h1TH インターネットからファイルをダウンロードするのに、現在のc界隈ではどんなライブラリを使用してるの?
vc2010あたりなら、標準で使えていたけど今でも使えるのかしら?
vc2010あたりなら、標準で使えていたけど今でも使えるのかしら?
488デフォルトの名無しさん (ワッチョイ 06a1-6mIp)
2025/06/29(日) 10:59:10.19ID:zQA4sk9y0 ちょっ質問なのですが
class Fooの中で構造体型PrivateStructがprivateな型として定義されており、
PrivateStruct型のFooのprivateなメンバFoo::m_stもある状況に対し、
Fooの外でauto&でもってPrivateStructの型を使用できて、
あまつさえFoo::m_stの値を読んだり書いたりできたりしてカプセル化神話が崩壊したんだけど
これっておま環?
(コード)
https://ideone.com/slBA72
class Fooの中で構造体型PrivateStructがprivateな型として定義されており、
PrivateStruct型のFooのprivateなメンバFoo::m_stもある状況に対し、
Fooの外でauto&でもってPrivateStructの型を使用できて、
あまつさえFoo::m_stの値を読んだり書いたりできたりしてカプセル化神話が崩壊したんだけど
これっておま環?
(コード)
https://ideone.com/slBA72
489はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7b32-T+w5)
2025/06/29(日) 12:56:56.18ID:RnCZLFSE0 >>487
Windows が前提なら WinINet を使うのが素直なやり方だと思う。
規格の多少の更新などがあっても OS の側で対処してくれるからアプリケーションはリビルドする必要すらなく長期的に使えることが期待できる。
マルチプラットフォームを考えるなら Curl が楽かなぁ……。
Windows が前提なら WinINet を使うのが素直なやり方だと思う。
規格の多少の更新などがあっても OS の側で対処してくれるからアプリケーションはリビルドする必要すらなく長期的に使えることが期待できる。
マルチプラットフォームを考えるなら Curl が楽かなぁ……。
490はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7b32-T+w5)
2025/06/29(日) 13:04:25.17ID:RnCZLFSE0 >>488
アクセス指定は識別子の可視性であって、間接的なアクセスも含めた一切の利用を禁止するわけではないよ。
アクセス指定は識別子の可視性であって、間接的なアクセスも含めた一切の利用を禁止するわけではないよ。
491デフォルトの名無しさん (ワッチョイ 06a1-6mIp)
2025/06/29(日) 13:14:06.51ID:zQA4sk9y0 上のコードの
>auto& st = x.refStruct(); // stはFooのprivateな型だがビルドが通る。
が識別子PrivateStructの可視性を無視してくれる理由がわからんぬ……
これ
>PrivateStruct& st = x.refStruct();
と書いたら型の名前PrivateStructの可視性がprivateなのでもちろんエラーになる
>auto& st = x.refStruct(); // stはFooのprivateな型だがビルドが通る。
が識別子PrivateStructの可視性を無視してくれる理由がわからんぬ……
これ
>PrivateStruct& st = x.refStruct();
と書いたら型の名前PrivateStructの可視性がprivateなのでもちろんエラーになる
492デフォルトの名無しさん (ワッチョイ 06a1-6mIp)
2025/06/29(日) 13:18:58.11ID:zQA4sk9y0 訂正orz
×: >PrivateStruct& st = x.refStruct();
○: >Foo::PrivateStruct& st = x.refStruct();
×: >PrivateStruct& st = x.refStruct();
○: >Foo::PrivateStruct& st = x.refStruct();
493はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7b32-T+w5)
2025/06/29(日) 13:37:38.54ID:RnCZLFSE0 >>491
> 識別子PrivateStructの可視性を無視してくれる理由
識別子 PrivateStruct を使っていないから。
この場合は x.refStruct() という式から型を推論するので型名 (であるような識別子) の可視性は関係ない。
プライベートなデータメンバ m_st だってその参照を外へ持ち出してるだろ。
外で m_st という名前でアクセスできないが m_st に対応するオブジェクトへのアクセスは (アクセス経路があるなら) アクセス指定に左右されない。
同様に、プライベートに定義した型を型名ではアクセスできないが型を使えないわけではない。
> 識別子PrivateStructの可視性を無視してくれる理由
識別子 PrivateStruct を使っていないから。
この場合は x.refStruct() という式から型を推論するので型名 (であるような識別子) の可視性は関係ない。
プライベートなデータメンバ m_st だってその参照を外へ持ち出してるだろ。
外で m_st という名前でアクセスできないが m_st に対応するオブジェクトへのアクセスは (アクセス経路があるなら) アクセス指定に左右されない。
同様に、プライベートに定義した型を型名ではアクセスできないが型を使えないわけではない。
494デフォルトの名無しさん (ワッチョイ 06a1-6mIp)
2025/06/29(日) 13:59:10.64ID:zQA4sk9y0 >識別子 PrivateStruct を使っていないから。
>この場合は x.refStruct() という式から型を推論するので型名 (であるような識別子) の可視性は関係ない。
なんで?
不完全な型の参照はエラーになるのだから
コンパイラは型推論の際Foo::PrivateStructという完全な型の情報まで突き止めているはず……
なんでFoo::PrivateStructの可視性を無視してくれるのや……
無視せずエラーにする言語仕様もあり得たはず
ていうかエラーにならないのがおま環でない証拠がいまのところ無い……
>この場合は x.refStruct() という式から型を推論するので型名 (であるような識別子) の可視性は関係ない。
なんで?
不完全な型の参照はエラーになるのだから
コンパイラは型推論の際Foo::PrivateStructという完全な型の情報まで突き止めているはず……
なんでFoo::PrivateStructの可視性を無視してくれるのや……
無視せずエラーにする言語仕様もあり得たはず
ていうかエラーにならないのがおま環でない証拠がいまのところ無い……
495はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7b32-T+w5)
2025/06/29(日) 14:09:12.19ID:RnCZLFSE0496デフォルトの名無しさん (ワッチョイ 42dd-95xj)
2025/06/29(日) 15:12:39.04ID:FAAHlPSo0497デフォルトの名無しさん (ワッチョイ d7ad-DFSU)
2025/06/29(日) 15:29:55.25ID:PWOccKtm0 プライベートメンバーの参照を返す関数を public でアクセスできる設計の方が驚き
498はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7b32-0lSL)
2025/06/29(日) 15:52:20.20ID:RnCZLFSE0 >>497
これ単体で見るとおかしいがプロキシパターンなどでそういう構成になることはある。
これ単体で見るとおかしいがプロキシパターンなどでそういう構成になることはある。
499はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7b32-0lSL)
2025/06/29(日) 16:51:17.70ID:RnCZLFSE0 すまん。プロクシパターンではないな。
見当違いなことを書いてた。
まあこの場合は言語機能の確認のサンプルだと思うから設計がどうこうはあまり気にしなくていいんじゃね。
見当違いなことを書いてた。
まあこの場合は言語機能の確認のサンプルだと思うから設計がどうこうはあまり気にしなくていいんじゃね。
500デフォルトの名無しさん (アウアウウー Sabb-BfA2)
2025/06/29(日) 19:25:35.84ID:TdQ2JxNKa たしかに直感的には auto で private な型を推論してしまうのはヤバくね?という感覚になってしまうが
続くレスで指摘されてるとおり private な識別子だからといって外に持ち出せないわけではないので(それを禁止するほうが弊害が大きい)
そういうもんだと思ってプログラマが注意するしかないな
元々 C++ はやり方次第で言語仕様の本来の目的を外れたヤバい方法がいくらでもつかえる言語であり
どんな場面でも常にプログラマは注意を払うべきなので、そういう C++ の"性格"がこの場面でも出たというところか
こういうのがどうしても気になり完全な"性格"の言語が欲しいなら、他の言語にいったほうがよい
続くレスで指摘されてるとおり private な識別子だからといって外に持ち出せないわけではないので(それを禁止するほうが弊害が大きい)
そういうもんだと思ってプログラマが注意するしかないな
元々 C++ はやり方次第で言語仕様の本来の目的を外れたヤバい方法がいくらでもつかえる言語であり
どんな場面でも常にプログラマは注意を払うべきなので、そういう C++ の"性格"がこの場面でも出たというところか
こういうのがどうしても気になり完全な"性格"の言語が欲しいなら、他の言語にいったほうがよい
501デフォルトの名無しさん (オイコラミネオ MM6b-fGW2)
2025/06/29(日) 19:47:06.28ID:ivfL45vHM502デフォルトの名無しさん (ワッチョイ 8e1a-9Qg/)
2025/06/30(月) 19:44:03.19ID:etdu4EFd0 長い名前空間の扱いの質問なのですが、
例えばA::B::C::DみたいなクラスD内でP::Q::R::SのようなクラスSを使用していて
ヘッダーファイルが
namespace A::B::C {
public class D {
void foo(P::Q::R::S& s);
};
}
みたいな感じになるのですが、実際にはこのP::Q::R::Sが非常に長く正直見苦しいです
かといってusingをヘッダー内で使うのは良くないですよね?
こういう場合にP::Q::R::Sの部分を簡潔な表記にする方法はありますでしょうか
例えばA::B::C::DみたいなクラスD内でP::Q::R::SのようなクラスSを使用していて
ヘッダーファイルが
namespace A::B::C {
public class D {
void foo(P::Q::R::S& s);
};
}
みたいな感じになるのですが、実際にはこのP::Q::R::Sが非常に長く正直見苦しいです
かといってusingをヘッダー内で使うのは良くないですよね?
こういう場合にP::Q::R::Sの部分を簡潔な表記にする方法はありますでしょうか
503デフォルトの名無しさん (ワッチョイ e794-iZCu)
2025/06/30(月) 20:47:28.37ID:CUK0Fuvn0 namespace pqrs = P::Q::R::S
でいいんじゃない?
でいいんじゃない?
504デフォルトの名無しさん (ワッチョイ 7b7c-9nZq)
2025/07/01(火) 21:41:31.12ID:W7Fp4vWi0 Sしか使わないならusing P::Q::R::S;
505はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7b32-0lSL)
2025/07/01(火) 22:22:06.69ID:kHEih0Y20 >>504
using P::Q::R::S; したらもしも using namespace A::B::C; したときに P::Q::R::S も探索対象になってしまう。
使う側に余計な影響を与えないようにするには別名をつけるほうがより良い。
using P::Q::R::S; したらもしも using namespace A::B::C; したときに P::Q::R::S も探索対象になってしまう。
使う側に余計な影響を与えないようにするには別名をつけるほうがより良い。
506デフォルトの名無しさん (ワッチョイ 3641-ctb7)
2025/07/03(木) 00:24:37.09ID:ye5zZInN0 エンベデッド分野は今でもC/C++が主流なの?
AIに任せられない分野だから生きのこれそうで気になっておりまする
AIに任せられない分野だから生きのこれそうで気になっておりまする
507デフォルトの名無しさん (アウアウウー Sabb-H9/A)
2025/07/03(木) 09:26:35.93ID:q23h/8z8a 良いんじゃね
508はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 4730-0lSL)
2025/07/03(木) 11:06:49.67ID:4Hn86Ej50 >>506
組み込みシステムも多様なので性質や規模によるでしょ。
リアルタイム性が重要なところでは C/C++ は主流のままだと思うけど、プロジェクト全体が C/C++ だけで構成されることは少なくなるんじゃない?
組み込みシステムも多様なので性質や規模によるでしょ。
リアルタイム性が重要なところでは C/C++ は主流のままだと思うけど、プロジェクト全体が C/C++ だけで構成されることは少なくなるんじゃない?
509デフォルトの名無しさん (ワッチョイ 420e-vr7j)
2025/07/03(木) 11:57:31.86ID:0Ka09OV10 リアルタイム性はOSがやることだし
言語関係ないよ
言語関係ないよ
510デフォルトの名無しさん (ワッチョイ e79a-0q56)
2025/07/03(木) 12:22:21.27ID:dQk6sKVB0 Javaや.NETはGCでストップ・ザ・ワールドが発生するからリアルタイムに弱いらしい
最近は目標停止時間を1ms以下に抑えるGCもあるけど、あくまでも目標であって保証ではないからね
最近は目標停止時間を1ms以下に抑えるGCもあるけど、あくまでも目標であって保証ではないからね
511デフォルトの名無しさん (ワッチョイ 4e5f-nkZs)
2025/07/03(木) 15:27:43.14ID:d0nwmVKl0 >>509
イベントスレッドでIOされてもOSがなんとかすると思ってんの?
イベントスレッドでIOされてもOSがなんとかすると思ってんの?
512デフォルトの名無しさん (アウアウウー Sabb-H9/A)
2025/07/04(金) 08:50:43.54ID:fF3rQ1JLa 組み込み
リアルタイムOS
これほど曖昧な言い回しは他に無い
リアルタイムOS
これほど曖昧な言い回しは他に無い
513はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7b32-0lSL)
2025/07/04(金) 10:17:03.12ID:wZ441BSd0 >>509
リアルタイム性が重要なところというのはまさにそのリアルタイム OS のことで、それらを書くのに C/C++ が主流という話なんやで。
そんで既存の OS を使う場合でも次にアプリケーションを用意すれば動くというわけではなくて、組み込みシステムなら大抵の場合にデバイスドライバも書かなければいけないし、 OS が面倒みてくれる範囲は小さい。
低レイヤの整備がすでに整っている状況ならアプリケーションはもうちょっと言語の選択肢はあるかもね。
リアルタイム性が重要なところというのはまさにそのリアルタイム OS のことで、それらを書くのに C/C++ が主流という話なんやで。
そんで既存の OS を使う場合でも次にアプリケーションを用意すれば動くというわけではなくて、組み込みシステムなら大抵の場合にデバイスドライバも書かなければいけないし、 OS が面倒みてくれる範囲は小さい。
低レイヤの整備がすでに整っている状況ならアプリケーションはもうちょっと言語の選択肢はあるかもね。
514デフォルトの名無しさん (ワッチョイ a332-vr7j)
2025/07/04(金) 10:58:10.60ID:8a61AjkK0 リアルタイムOSでないOSで、リアルタイム性重視ならそうだが
リアルタイムOSで作るなら言語は何でもいい
リアルタイムOSで作るなら言語は何でもいい
515デフォルトの名無しさん (ワッチョイ a332-vr7j)
2025/07/04(金) 10:59:28.16ID:8a61AjkK0 例えば24時間365日止まってはいけない産業用制御なんて
C++でも何でもない
C++でも何でもない
516デフォルトの名無しさん (ワッチョイ 6fd6-sHGY)
2025/07/04(金) 11:09:00.86ID:7dTC+3QP0 シェルで済むならシェルにしなさい。(UNIX)
517デフォルトの名無しさん (ワッチョイ 4ef9-nkZs)
2025/07/04(金) 11:13:55.32ID:lC93JhvQ0 言語なんでもいいって?
リアルタイムOSってそもそも言語の選択肢少ねーだろ
リアルタイムOSってそもそも言語の選択肢少ねーだろ
518デフォルトの名無しさん (ワッチョイ 4ef9-nkZs)
2025/07/04(金) 11:19:04.05ID:lC93JhvQ0519デフォルトの名無しさん (ワッチョイ 06a1-6mIp)
2025/07/04(金) 20:28:14.57ID:wNUogzY00520デフォルトの名無しさん (ワッチョイ 06a1-6mIp)
2025/07/04(金) 20:39:26.88ID:wNUogzY00 >24時間365日止まってはいけない産業用制御
冗長構成かフェイルオーバーするような枠組みとしての取り組みが第一優先な希ガス……
ソフトウェアーの冪等性により同じバグが同じタイミングで発生して冗長構成が無意味化するする危険性については
十分テストしてバグを撮ったのちに起動タイミングをずらすなどの工夫を行えばポアソン分布の同時確率か何かに従って無視できうる(と思う
さすがに原子炉の制御とかだとプロセス単体も形式検証して他分野よりもっと十分検証するらしい(間接伝聞
冗長構成かフェイルオーバーするような枠組みとしての取り組みが第一優先な希ガス……
ソフトウェアーの冪等性により同じバグが同じタイミングで発生して冗長構成が無意味化するする危険性については
十分テストしてバグを撮ったのちに起動タイミングをずらすなどの工夫を行えばポアソン分布の同時確率か何かに従って無視できうる(と思う
さすがに原子炉の制御とかだとプロセス単体も形式検証して他分野よりもっと十分検証するらしい(間接伝聞
521デフォルトの名無しさん (ワッチョイ eb86-SoaL)
2025/07/05(土) 12:14:15.08ID:JEWbe+UQ0 そんなレベルはラダー図で書くやろ
522デフォルトの名無しさん (ブーイモ MM8e-nkZs)
2025/07/05(土) 12:31:12.20ID:yj3snSzGM というかリアルタイムOSの話から関係ない24/365システムの話を出すあたりよくわかってないことを雰囲気で話すタイプの人でしょ
523デフォルトの名無しさん (ワッチョイ af77-vr7j)
2025/07/05(土) 20:19:54.08ID:iY4IPiMb0 >>521
C++ではないわな
C++ではないわな
524デフォルトの名無しさん (ワッチョイ ffa1-BzvG)
2025/07/06(日) 06:14:16.80ID:B20RUTJT0 質問なのですが
ケースA) std::stringstream ist("A B"); char c1, c2, c3; に対し、ist >> c1; ist >> c2; ist >> c3; とすると
ist >> c2 は正常に読めて、ist >> c3 を実施した時点で!ist.good()かつist.eof() となってgetc()と類似のEOF検知挙動なのですが
(ちなみに読み取った文字は c1='A'、c2='B'。c3の読み取りは行われない
ケースB) std::stringstream ist("A B"); std::string s1, s2, s3; に対し、ist >> s1; ist >> s2; ist >> s3; とすると
ist >> s2 を実施した時点で早々に!ist.good()かつist.eof() となって挙動が相違し
(ちなみに読み取った文字列は s1="A"、s2="B"。s3の読み取りは行われない
ケースC) しかしBの後に空白を追加してstd::stringstream ist("A B "); とすると、
ist >> s2 は正常に読めて、ist >> s3 を実施した時点で!ist.good()かつist.eof() となってgetc()と類似のEOF検知挙動になる
(ちなみに読み取った文字列は s1="A"、s2="B"。s3の読み取りは行われない
となってケースB)とケースC)で共通に使えるような最終要素まで読み取り完了判定ロジックが無く
std::istream神話が崩壊したんだけどこれっておま環?
一体どうすれば……orz
ケースA) std::stringstream ist("A B"); char c1, c2, c3; に対し、ist >> c1; ist >> c2; ist >> c3; とすると
ist >> c2 は正常に読めて、ist >> c3 を実施した時点で!ist.good()かつist.eof() となってgetc()と類似のEOF検知挙動なのですが
(ちなみに読み取った文字は c1='A'、c2='B'。c3の読み取りは行われない
ケースB) std::stringstream ist("A B"); std::string s1, s2, s3; に対し、ist >> s1; ist >> s2; ist >> s3; とすると
ist >> s2 を実施した時点で早々に!ist.good()かつist.eof() となって挙動が相違し
(ちなみに読み取った文字列は s1="A"、s2="B"。s3の読み取りは行われない
ケースC) しかしBの後に空白を追加してstd::stringstream ist("A B "); とすると、
ist >> s2 は正常に読めて、ist >> s3 を実施した時点で!ist.good()かつist.eof() となってgetc()と類似のEOF検知挙動になる
(ちなみに読み取った文字列は s1="A"、s2="B"。s3の読み取りは行われない
となってケースB)とケースC)で共通に使えるような最終要素まで読み取り完了判定ロジックが無く
std::istream神話が崩壊したんだけどこれっておま環?
一体どうすれば……orz
525デフォルトの名無しさん (ワッチョイ ffa1-BzvG)
2025/07/06(日) 06:16:00.70ID:B20RUTJT0 確認用サンプルコード:
https://ideone.com/Guifzs
https://ideone.com/Guifzs
526デフォルトの名無しさん (ワッチョイ ffa1-BzvG)
2025/07/06(日) 06:47:52.68ID:B20RUTJT0 とりま上のコードからフォークしたソースコード
https://ideone.com/4WPZtB
の
parse_as_string_with_common_logic(std::istream& is, std::string& s, bool& bErr)
みたいな判定処理にしたらケースB、Cを共通に扱えるような印象
なのですが正しくはどうすればよいかわからん……
https://ideone.com/4WPZtB
の
parse_as_string_with_common_logic(std::istream& is, std::string& s, bool& bErr)
みたいな判定処理にしたらケースB、Cを共通に扱えるような印象
なのですが正しくはどうすればよいかわからん……
527デフォルトの名無しさん (ワッチョイ 17a6-aNVA)
2025/07/06(日) 07:26:05.90ID:oIAQiRlj0 一般的な話ならchar以外の>>で一貫した挙動を期待するのに無理がある
期待した文字が来なかったらungetするかどうか?ファイル最後の改行をどうするか?シグナルが来たら?とか色々あるし
ケースBで言えば"B"の後に文字が続いていればs2に含まないといけないのだから内部的にはケースAで言えばc3まで試し済みの状態
EOFフラグを見るのではなく例外で受け取ったほうが確実
期待した文字が来なかったらungetするかどうか?ファイル最後の改行をどうするか?シグナルが来たら?とか色々あるし
ケースBで言えば"B"の後に文字が続いていればs2に含まないといけないのだから内部的にはケースAで言えばc3まで試し済みの状態
EOFフラグを見るのではなく例外で受け取ったほうが確実
528デフォルトの名無しさん (アウアウウー Sa9b-zcFv)
2025/07/06(日) 10:18:34.40ID:RFZXbMVga ケースB、Cを共通に扱える
ist.eof()でいいやん
Bが一回余分にループするのは気持ち悪いけど
気にしたら負け
ist.eof()でいいやん
Bが一回余分にループするのは気持ち悪いけど
気にしたら負け
529デフォルトの名無しさん (ワッチョイ 1f7f-Wka8)
2025/07/06(日) 10:53:22.37ID:14zTNASB0 普通はoperator bool(または fail())を使う
530デフォルトの名無しさん (ワッチョイ ffa1-BzvG)
2025/07/06(日) 10:56:09.61ID:B20RUTJT0 >>527
だいたいわかりた
is >> s
ライブラリの「>>」の仕様的にsが任意のクラスで有り得るから、
例えばsが複素数クラスで2つの要素を読み取るブツなのに対し要素を1つだけ読み取れなかった場合、
みたいなのが生じ得るがis.eof()ではそこまで表現できない故にライブラリ側では
char以外の一般のケースについて責任を持たないというと理解すた、
従って、test_parse_as_string_with_common_logic(const char* szInput, bool& bErr)を
charの読み取りによってeof()判定するように直したわ
これならiostreamの正当な使い方だけで構成されておりかつ目的を果たせているはず……
https://ideone.com/eaYGEt
だいたいわかりた
is >> s
ライブラリの「>>」の仕様的にsが任意のクラスで有り得るから、
例えばsが複素数クラスで2つの要素を読み取るブツなのに対し要素を1つだけ読み取れなかった場合、
みたいなのが生じ得るがis.eof()ではそこまで表現できない故にライブラリ側では
char以外の一般のケースについて責任を持たないというと理解すた、
従って、test_parse_as_string_with_common_logic(const char* szInput, bool& bErr)を
charの読み取りによってeof()判定するように直したわ
これならiostreamの正当な使い方だけで構成されておりかつ目的を果たせているはず……
https://ideone.com/eaYGEt
531デフォルトの名無しさん (ワッチョイ ffa1-BzvG)
2025/07/06(日) 11:00:55.07ID:B20RUTJT0532デフォルトの名無しさん (ワッチョイ ffa1-BzvG)
2025/07/06(日) 11:06:26.76ID:B20RUTJT0 ごめoperator boolは!is.fail()やった……orz
533デフォルトの名無しさん (ワッチョイ ffa1-BzvG)
2025/07/06(日) 11:24:16.88ID:B20RUTJT0 二転三転してすまんこ考えを改めたはサーセン……orz
入力ストリームはシリアルポートみたいな途中で入力がブチ切れる危険性があるブツである
こともあるから、
ケースB) (空白) (非空白文字列の期待する全体)
ケースB') (空白) (非空白文字列が受信タイムアウトにより途中で切れたもの)
の区別が!isになったというだけでは区別がつかない。一方、
(空白) (非空白文字列) (空白)
まで受け取ったら、(非空白文字列) がタイムアウトにより途中で切れたものでないことが確実となりワカル
故に、ケースBやB'みたいな条件を扱うこと自体がライブラリの仕様想定外なのかもしれん……
通常のテキスト読み込みでは行末に改行文字(空白文字のうち)が1文字以上あるから、この枠内で話が収まる。
Unixみたいに改行文字が '\n' 1文字だけな環境で、改行文字を読み飛ばして
呼び出し元に返さないgetline()みたいなやつで読んだ結果を
istringstreamしようとするとケースBが顕在化するが、
この場合は強制的に末尾に空白文字を付けることができうる
そうすればケースBは発生しない(ただし空白文字を付け忘れるとバグ
入力ストリームはシリアルポートみたいな途中で入力がブチ切れる危険性があるブツである
こともあるから、
ケースB) (空白) (非空白文字列の期待する全体)
ケースB') (空白) (非空白文字列が受信タイムアウトにより途中で切れたもの)
の区別が!isになったというだけでは区別がつかない。一方、
(空白) (非空白文字列) (空白)
まで受け取ったら、(非空白文字列) がタイムアウトにより途中で切れたものでないことが確実となりワカル
故に、ケースBやB'みたいな条件を扱うこと自体がライブラリの仕様想定外なのかもしれん……
通常のテキスト読み込みでは行末に改行文字(空白文字のうち)が1文字以上あるから、この枠内で話が収まる。
Unixみたいに改行文字が '\n' 1文字だけな環境で、改行文字を読み飛ばして
呼び出し元に返さないgetline()みたいなやつで読んだ結果を
istringstreamしようとするとケースBが顕在化するが、
この場合は強制的に末尾に空白文字を付けることができうる
そうすればケースBは発生しない(ただし空白文字を付け忘れるとバグ
534デフォルトの名無しさん (ワッチョイ 377c-ZLf6)
2025/07/06(日) 11:56:43.72ID:wbQZP2jZ0 iostreamなんかをテキストの厳格なパースなんかに使わなければならない理由から考え直した方がいい
535デフォルトの名無しさん (アウアウウー Sa9b-zcFv)
2025/07/06(日) 12:20:19.64ID:RFZXbMVga 末尾で改行無しでeofが来るファイルは多い
536デフォルトの名無しさん (ワッチョイ ffa1-BzvG)
2025/07/06(日) 12:43:07.86ID:B20RUTJT0 >>529
ゴメ operator std::istream::bool() か std::istream::fail() だけでとりま解決したわスマンカッタorz
https://ideone.com/Fd5zV6
オンメモリのストリームである std::istringstream であっても>>533のケースB'に当たるケース
(オンメモリなので非空白文字列でデータが終わっている場合)においてbadbitがセットされるっぽい
この挙動がおま環でないかどうかはわからん……
ゴメ operator std::istream::bool() か std::istream::fail() だけでとりま解決したわスマンカッタorz
https://ideone.com/Fd5zV6
オンメモリのストリームである std::istringstream であっても>>533のケースB'に当たるケース
(オンメモリなので非空白文字列でデータが終わっている場合)においてbadbitがセットされるっぽい
この挙動がおま環でないかどうかはわからん……
537デフォルトの名無しさん (ワッチョイ ffa1-BzvG)
2025/07/06(日) 12:47:26.46ID:B20RUTJT0 >>534
いまさらlex的な処理をgetc()で手で書いたりstrtok()に戻ったりしたくないし……
いまさらlex的な処理をgetc()で手で書いたりstrtok()に戻ったりしたくないし……
538はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 3732-D1Zn)
2025/07/06(日) 13:40:09.19ID:VHUnBvW80 パーサコンビネータ的なものを先に作るのがモダンな方法だが……。
汚い部分を抽象の向こうに押し込めるだけなので汚さが無くなるわけではない。
小さい規模だと愚直な方法が楽だったりするよ。
汚い部分を抽象の向こうに押し込めるだけなので汚さが無くなるわけではない。
小さい規模だと愚直な方法が楽だったりするよ。
539デフォルトの名無しさん (ワッチョイ 576b-4VWQ)
2025/07/10(木) 15:17:59.65ID:pWdjbLc50 C++を勉強して思ったのが
C++って基底クラスをリストに登録させて
派生クラスの機能をひたすら実行させることに特化してるように思うのだけどこの考え方で合ってる?
要はリストありきな感じ
C++って基底クラスをリストに登録させて
派生クラスの機能をひたすら実行させることに特化してるように思うのだけどこの考え方で合ってる?
要はリストありきな感じ
540はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 3732-SsbA)
2025/07/10(木) 15:54:02.04ID:UMLMi9p20 >>539
ゲームのフレームワークでは全てのエンティティを登録してそれに対する更新を繰り返すというモデルがありふれているが、 C++ 的にそれが普通というわけではない。
ゲームのフレームワークでは全てのエンティティを登録してそれに対する更新を繰り返すというモデルがありふれているが、 C++ 的にそれが普通というわけではない。
541デフォルトの名無しさん (ワッチョイ bfad-3agI)
2025/07/10(木) 16:45:53.90ID:1drjG1ps0 >>539
一度デバッガで実行をトレースしてみ?
一度デバッガで実行をトレースしてみ?
542デフォルトの名無しさん (ワッチョイ 9f88-D0JT)
2025/07/10(木) 18:55:50.32ID:y21Xxg220543デフォルトの名無しさん (ワッチョイ 576b-4VWQ)
2025/07/10(木) 21:11:59.82ID:pWdjbLc50 >>540-541
ありがとうございます
リストを自作するなりstd::listを使うなりして
printfみたいな文字出力をする時も、出力部分をタスククラスにぶっこんでラッピングして
出力は派生クラスでオーバーライドしたc->draw();みたいなのに任せる、というのはゲーム専用で他ではあまりされないんですね
ありがとうございます
リストを自作するなりstd::listを使うなりして
printfみたいな文字出力をする時も、出力部分をタスククラスにぶっこんでラッピングして
出力は派生クラスでオーバーライドしたc->draw();みたいなのに任せる、というのはゲーム専用で他ではあまりされないんですね
544はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 176c-SsbA)
2025/07/11(金) 01:51:13.39ID:/nWuXYnL0 C++ は設計理念のひとつとして「人に何かを強制しない」というのを挙げていて、やりたいように書けることを重視してる。
同じパターンでプログラムを書いているように感じるなら単にあなたがそのやり方しか知らないだけ。
分野ごとに大枠ではやりやすいパターンが定着していたりはするので、ひとつの分野だけ見ていると頻出パターンがあるように見えることはあるかも。
同じパターンでプログラムを書いているように感じるなら単にあなたがそのやり方しか知らないだけ。
分野ごとに大枠ではやりやすいパターンが定着していたりはするので、ひとつの分野だけ見ていると頻出パターンがあるように見えることはあるかも。
545デフォルトの名無しさん (ワッチョイ 9f15-sH2C)
2025/07/11(金) 11:58:09.09ID:nUxw0t1Z0 BASICも同様の理念で作ればいいのに
546デフォルトの名無しさん (ワッチョイ bff3-4Q3H)
2025/07/11(金) 12:28:00.28ID:36pXyECQ0 >>544
Z世代にはRuby on RailsやRustのほうが良いかもしれませんね
Z世代にはRuby on RailsやRustのほうが良いかもしれませんね
547デフォルトの名無しさん (スフッ Sdbf-zcFv)
2025/07/11(金) 14:36:44.91ID:zLrVPFvnd >>543
RustのDisplayやDebugなんてまさにそれだが
RustのDisplayやDebugなんてまさにそれだが
548デフォルトの名無しさん (ワッチョイ 1fb7-p46g)
2025/07/12(土) 13:34:42.02ID:Y1veRsrW0 C++でデフォルトコンストラクタで確保したリソースだけデストラクタで破棄したくてコピーコンストラクタやコピー代入ムーブコンストラクタやムーブ代入で得たリソースはデストラクタで破棄させたくないときどうする?
rustみたいな所有権システム必要になるんですか?
rustみたいな所有権システム必要になるんですか?
549デフォルトの名無しさん (ワッチョイ f74e-Wka8)
2025/07/12(土) 14:19:56.77ID:tjRcyRc80 なんでそんなことが必要なのかわからないけど、破棄するかどうかのフラグを持っておけばいいんじゃないの?
設計から見直した方が良いようなきがするけどw
設計から見直した方が良いようなきがするけどw
550デフォルトの名無しさん (ワッチョイ f7c2-z8QQ)
2025/07/12(土) 17:03:35.88ID:BGsI/m1X0 >>548
俺もなんでそんなことが必要なのかわからないけど、pip使ってデフォルトコントラスタのオーナーだけにshared ptrでリソース管理させるとか?
これだとバグが怖いから、素直にshared ptrでリソースを共有したほうがいい気がする。
俺もなんでそんなことが必要なのかわからないけど、pip使ってデフォルトコントラスタのオーナーだけにshared ptrでリソース管理させるとか?
これだとバグが怖いから、素直にshared ptrでリソースを共有したほうがいい気がする。
551デフォルトの名無しさん (ワッチョイ 9f02-cEtd)
2025/07/12(土) 17:24:13.44ID:1YAX70Df0 ゲームプログラムをマルチスレッドにするとき、何をマルチスレッドにするの?
ストレージのロードとかはともかく
ストレージのロードとかはともかく
552デフォルトの名無しさん (アウアウウー Sa9b-zcFv)
2025/07/12(土) 18:45:10.30ID:/RtKayKia マルチスレッドにしたいものをマルチスレッドにする
553デフォルトの名無しさん (ワッチョイ f7bd-eG3U)
2025/07/12(土) 19:12:52.47ID:LUVzIFWA0 遠景のテクスチャのロードなんかは別スレッドかな?
当たり判定などのロジックは遅延なく1フレーム16ミリ秒以内にやらなきゃいけないのでメインスレッドでやるしかない
ゲームでマルチスレッド使うのって難しいよね
当たり判定などのロジックは遅延なく1フレーム16ミリ秒以内にやらなきゃいけないのでメインスレッドでやるしかない
ゲームでマルチスレッド使うのって難しいよね
554はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 3732-SsbA)
2025/07/12(土) 20:02:23.86ID:5KyGwfre0 排他処理が入ると並列化の恩恵がだいぶん減るので高速化の意図でマルチスレッドを使うなら排他が不要な部分を見つけるのが第一だね。
メモリなどの各種のリソース管理の後始末を別スレッドに任せるという例も聞いたことはある。
デストラクタが起動するとサブオブジェクトのデストラクタも連鎖的に起動するからワンフレームの時間が限られている状況では間に合わないということも起こる。
だからデストラクタは後始末が必要なリソースをテーブルに登録するだけにして、別スレッドが実際の後始末をするってことね。
もう使うことの無いリソースだというのは分かってるから排他は少なくてすむ。
(ヒープメモリの管理テーブルはスレッド共通だから排他がゼロとはいかないと思うけど。)
後始末が少しくらい遅れてもどうということはないし。
メモリなどの各種のリソース管理の後始末を別スレッドに任せるという例も聞いたことはある。
デストラクタが起動するとサブオブジェクトのデストラクタも連鎖的に起動するからワンフレームの時間が限られている状況では間に合わないということも起こる。
だからデストラクタは後始末が必要なリソースをテーブルに登録するだけにして、別スレッドが実際の後始末をするってことね。
もう使うことの無いリソースだというのは分かってるから排他は少なくてすむ。
(ヒープメモリの管理テーブルはスレッド共通だから排他がゼロとはいかないと思うけど。)
後始末が少しくらい遅れてもどうということはないし。
555デフォルトの名無しさん (ワッチョイ e202-oEHq)
2025/07/13(日) 11:30:27.40ID:WDtYO/xJ0 まあ、
アクションとか以外の、1/60秒で同期させなくていい処理ですかね…
遠くのPhysXの物理とかもできるのかな…
数年ぶりで、レイトレーシングとか未経験だわ…
アクションとか以外の、1/60秒で同期させなくていい処理ですかね…
遠くのPhysXの物理とかもできるのかな…
数年ぶりで、レイトレーシングとか未経験だわ…
556デフォルトの名無しさん (ワッチョイ e202-oEHq)
2025/07/13(日) 11:36:28.87ID:WDtYO/xJ0557デフォルトの名無しさん (ワッチョイ cecd-YjA1)
2025/07/13(日) 21:38:10.94ID:e/4c/Agi0 ・人間は犯罪を起こす種族と言い切っている
地球はすでに丸見え、レーダー電波で宇宙人に居場所をさらしている
公開: 2025-07-13 21:00
https://karapaia.com/archives/524757.html
>>明らかに人工的なもので、200光年以内にある知的文明なら、地球の場所を把握できる可能性が高い。
>>アレシボ天文台のような超高感度の望遠鏡を使えば、理論上は6万光年先からでも地球の電波を検出できるとされている。
>>に宇宙空間で“丸見え”の状態にあり、その状況は75年前から続いているのだ。問題は、彼らが友好的な文明であるという保証がまったくないことだ。
★>>可能性としては、(我々人間のように)きわめて敵対的かつ侵略的な種族であるケースも十分にあり得る。
地球はすでに丸見え、レーダー電波で宇宙人に居場所をさらしている
公開: 2025-07-13 21:00
https://karapaia.com/archives/524757.html
>>明らかに人工的なもので、200光年以内にある知的文明なら、地球の場所を把握できる可能性が高い。
>>アレシボ天文台のような超高感度の望遠鏡を使えば、理論上は6万光年先からでも地球の電波を検出できるとされている。
>>に宇宙空間で“丸見え”の状態にあり、その状況は75年前から続いているのだ。問題は、彼らが友好的な文明であるという保証がまったくないことだ。
★>>可能性としては、(我々人間のように)きわめて敵対的かつ侵略的な種族であるケースも十分にあり得る。
558デフォルトの名無しさん (ワッチョイ ce59-YjA1)
2025/07/14(月) 12:26:06.28ID:D5VD7WG/0 GPT-4.1超えの中国製AIモデル「Kimi K2」が無料公開される、複数のテストでGPT-4.1やClaude 4 Opusを打ち負かしエージェントタスクもこなす
2025年07月14日 11時10分
https://gigazine.net/news/20250714-ai-kimi-k2/
>>Kimi K2はベースモデルの「Kimi-K2-Base」と事後学習済みモデルの「Kimi-K2-Instruct」の2種類に分かれてリリースされています。以下の図は「Kimi-K2-Instruct」「DeepSeek V3」「Qwen3-235B」「GPT-4.1」「Claude 4 Opus」「Claude 4 Sonnet」「Gemini 2.5 Flash」のベンチマークスコアを並べたものです。Kimi-K2-InstructはすべてのテストでオープンモデルのDeepSeel V3とQwen3-235Bを超えるスコアを記録し、一部のテストでGPT-4.1やClaude Sonnet 4などの商用モデルに勝利しています。
◇上記サイト内にダウンロードリンクがある
2025年07月14日 11時10分
https://gigazine.net/news/20250714-ai-kimi-k2/
>>Kimi K2はベースモデルの「Kimi-K2-Base」と事後学習済みモデルの「Kimi-K2-Instruct」の2種類に分かれてリリースされています。以下の図は「Kimi-K2-Instruct」「DeepSeek V3」「Qwen3-235B」「GPT-4.1」「Claude 4 Opus」「Claude 4 Sonnet」「Gemini 2.5 Flash」のベンチマークスコアを並べたものです。Kimi-K2-InstructはすべてのテストでオープンモデルのDeepSeel V3とQwen3-235Bを超えるスコアを記録し、一部のテストでGPT-4.1やClaude Sonnet 4などの商用モデルに勝利しています。
◇上記サイト内にダウンロードリンクがある
559デフォルトの名無しさん (ワッチョイ a9d9-jjSx)
2025/07/14(月) 14:37:25.45ID:4jx6FCSc0 >>540
お前ゲーム作ったこと無いやろ・・・
お前ゲーム作ったこと無いやろ・・・
560デフォルトの名無しさん (ワッチョイ 370b-VyTm)
2025/07/14(月) 16:00:51.76ID:sJl0ASyp0 ただエンプティ言いたいだけ違うんかと
561デフォルトの名無しさん (ワッチョイ 915f-YjA1)
2025/07/14(月) 16:18:22.23ID:CQ+aGKeG0 画面描画FPS(frames per second)を固定させる為に、以下の待ち処理を入れるとFPSがメッチャ安定する:
while (system_clock::now() < t_after_sleeping) {
Sleep(0);
}
しかし強制フリーズさせてるみたいで、ハード痛めたりしないか不安なんだが。どうなん実際の所?詳しい人教えて
while (system_clock::now() < t_after_sleeping) {
Sleep(0);
}
しかし強制フリーズさせてるみたいで、ハード痛めたりしないか不安なんだが。どうなん実際の所?詳しい人教えて
562デフォルトの名無しさん (ワッチョイ 30a6-4yYS)
2025/07/14(月) 16:27:01.51ID:NLDJkZue0 マルチスレッドのセオリーとしてはSleepせずにビジーループするほうが問題
なんだけど、Sleepだと精度悪すぎてちゃんとFPS担保できるのか心配にはなる。動いてるならそれでいいけど
なんだけど、Sleepだと精度悪すぎてちゃんとFPS担保できるのか心配にはなる。動いてるならそれでいいけど
563はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bd32-2YuX)
2025/07/14(月) 17:49:12.87ID:23SHNwVj0 >>561
定石と言えるレベルの普通の処理だよ。
既に指摘されているようにタイマーの精度の問題はあるので工夫を入れる必要はあるけど、
精度が悪くても処理が遅れる (想定より FPS が下がる) 可能性があるだけ。
どういう理屈で不安に思っているのかがよくわからないので何を間違っているのか説明できない。
Sleep(0) が何をやってるかわからない (これが何らかの危険な処理だと思っている) ってこと?
定石と言えるレベルの普通の処理だよ。
既に指摘されているようにタイマーの精度の問題はあるので工夫を入れる必要はあるけど、
精度が悪くても処理が遅れる (想定より FPS が下がる) 可能性があるだけ。
どういう理屈で不安に思っているのかがよくわからないので何を間違っているのか説明できない。
Sleep(0) が何をやってるかわからない (これが何らかの危険な処理だと思っている) ってこと?
564デフォルトの名無しさん (ワッチョイ 915f-YjA1)
2025/07/14(月) 20:03:36.26ID:CQ+aGKeG0 test
565デフォルトの名無しさん (ワッチョイ 915f-YjA1)
2025/07/14(月) 20:04:22.78ID:CQ+aGKeG0 >>563
ありがとう。Sleep(0)が何をやっているかはわかっている
ありがとう。Sleep(0)が何をやっているかはわかっている
566デフォルトの名無しさん (ワッチョイ 915f-YjA1)
2025/07/14(月) 20:05:51.19ID:CQ+aGKeG0 >>561のwhile中を空にする(Sleep(0)しない) > while中でSleep(0)する > while中でSleep(1)する(時間単位を1msにして待ち時間を1ms縮める)
という具合にCPU占有率が上がる。精度は落ちるがSleep(1)を入れた方がCPUの負荷は減るので、何となく安心する。
という具合にCPU占有率が上がる。精度は落ちるがSleep(1)を入れた方がCPUの負荷は減るので、何となく安心する。
567デフォルトの名無しさん (ワッチョイ 915f-YjA1)
2025/07/14(月) 20:06:23.37ID:CQ+aGKeG0 >>561のwhileの中でSleep(0)しつつ準ビジー状態を強行するのがどれだけハードに悪影響なのか、その辺りの実績経験を盗みかった。卑しい盗人を助けてくれ下さい
568デフォルトの名無しさん (ワッチョイ 7001-jjSx)
2025/07/15(火) 00:13:36.01ID:KEPxDdxR0 C++スレ的にはthis_thread::yieldかと思ったんだが
569デフォルトの名無しさん (ワッチョイ 6268-3HIJ)
2025/07/15(火) 04:24:49.25ID:4J45BJq00570デフォルトの名無しさん (ワッチョイ cda1-2ooF)
2025/08/04(月) 06:40:16.41ID:0gfRmGh70 ちょっ質問なのですが
unsigned long m_ulAbortReasonBmp;
std::mutex m_mutex;
std::atomic<unsigned long> m_ulBias;
に対し、
m_mutex.lock();
m_ulAbortReasonBmp |= fooBmp; // (1) : m_mutex.lock()期間内
m_mutex.unlock();
m_ulBias.store(barVal, std::memory_order_release); // (2) : m_mutex.lock()期間外だがm_mutex.lock()期間の後
としたとき、
Q1. m_mutex.lock()している他スレッドから見て(1)、(2)の操作の順序(m_ulAbortReasonBmpが変化した後、m_ulBiasが変化する)は保証される?
Q2. m_mutex.lock()していない他スレッドから見てんも(1)、(2)の操作の順序(m_ulAbortReasonBmpが変化した後、m_ulBiasが変化する)は保証される?
unsigned long m_ulAbortReasonBmp;
std::mutex m_mutex;
std::atomic<unsigned long> m_ulBias;
に対し、
m_mutex.lock();
m_ulAbortReasonBmp |= fooBmp; // (1) : m_mutex.lock()期間内
m_mutex.unlock();
m_ulBias.store(barVal, std::memory_order_release); // (2) : m_mutex.lock()期間外だがm_mutex.lock()期間の後
としたとき、
Q1. m_mutex.lock()している他スレッドから見て(1)、(2)の操作の順序(m_ulAbortReasonBmpが変化した後、m_ulBiasが変化する)は保証される?
Q2. m_mutex.lock()していない他スレッドから見てんも(1)、(2)の操作の順序(m_ulAbortReasonBmpが変化した後、m_ulBiasが変化する)は保証される?
571デフォルトの名無しさん (ワッチョイ cda1-2ooF)
2025/08/04(月) 07:34:20.02ID:0gfRmGh70 Q1については、他スレッドから見てm_ulBiasのreadが
m_mutex.lock()期間(クリティカルセクション)内のm_ulAbortReasonBmpへの書き込みより
先行するようなことが起きるとクリティカルセクションの意味が消失するから保証される
Q2についてはm_ulBiasのreadがプロセッサコアにどう計画されるかわからないから
m_ulAbortReasonBmpへの書き込みの後になることは一般に保証されない、
が、現在人類が手にしているクリティカルセクションの実装(lock期間に入るときと出るときそれぞれで
いかなるreadもwriteも無差別にバリアする)により、lockしないスレッドから見ても順序が実質的に保証される、
でおk?
m_mutex.lock()期間(クリティカルセクション)内のm_ulAbortReasonBmpへの書き込みより
先行するようなことが起きるとクリティカルセクションの意味が消失するから保証される
Q2についてはm_ulBiasのreadがプロセッサコアにどう計画されるかわからないから
m_ulAbortReasonBmpへの書き込みの後になることは一般に保証されない、
が、現在人類が手にしているクリティカルセクションの実装(lock期間に入るときと出るときそれぞれで
いかなるreadもwriteも無差別にバリアする)により、lockしないスレッドから見ても順序が実質的に保証される、
でおk?
572デフォルトの名無しさん (ワッチョイ cda1-2ooF)
2025/08/04(月) 08:33:59.43ID:0gfRmGh70 訂正orz、
Q2のケースでは保証されない
現在人類が手にしているクリティカルセクションの実装(lock期間に入るときと出るときそれぞれで
いかなるreadもwriteも無差別にバリアする)のが真実だとしても、
それはm_ulAbortReasonBmpやm_ulBiasをwriteする側のスレッドがwrite順を守るというだけで、
m_ulAbortReasonBmpやm_ulBiasをreadする側のスレッドにはメモリバリアするコードが無いから
read順を好きに計画され、writeした順でreadされる保証が無い
Q2のケースでは保証されない
現在人類が手にしているクリティカルセクションの実装(lock期間に入るときと出るときそれぞれで
いかなるreadもwriteも無差別にバリアする)のが真実だとしても、
それはm_ulAbortReasonBmpやm_ulBiasをwriteする側のスレッドがwrite順を守るというだけで、
m_ulAbortReasonBmpやm_ulBiasをreadする側のスレッドにはメモリバリアするコードが無いから
read順を好きに計画され、writeした順でreadされる保証が無い
573デフォルトの名無しさん (ワッチョイ 5f79-1HMX)
2025/08/04(月) 08:41:31.47ID:3rv0HXUI0 >ちょっ
かわいい
…舐めてんの?
かわいい
…舐めてんの?
574デフォルトの名無しさん (ワッチョイ e3b9-Psuq)
2025/08/04(月) 16:26:39.26ID:Tt4A7oMm0575デフォルトの名無しさん (ワッチョイ 7f4e-W9J6)
2025/08/10(日) 21:35:26.79ID:gXfPFnW/0 男きたああああああああああ
576デフォルトの名無しさん (ワッチョイ d322-PSkW)
2025/08/22(金) 07:16:07.15ID:iDw/vpGA0 初心者だけど、
Pythonみたいにreturnを複数ってできないの?
touple使うくらい?
Pythonみたいにreturnを複数ってできないの?
touple使うくらい?
577デフォルトの名無しさん (ワッチョイ 5bfd-Srv/)
2025/08/22(金) 07:35:30.89ID:8V9ySHS/0 複数の値を一つにまとめればいいだけ
返す型次第
返す型次第
578デフォルトの名無しさん (ワッチョイ 5b85-ZBQJ)
2025/08/22(金) 08:55:40.38ID:LQncxxKI0 複数返したいならタプルでいいんじゃない
引数に出力渡すのが多いと思うけど
引数に出力渡すのが多いと思うけど
579はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5932-86vp)
2025/08/22(金) 10:34:20.59ID:s1oN92u00 Python でも返却値として複数の値を返すことは出来ない。
Python で return にカンマ区切りで複数の式を書くとタプルになってる。
受け取る側で複数の変数を書いておけばタプルが分配 (unpack) されたりはするけど……
関数が返却しているのはあくまでもひとつの値という理屈。
複数の値 (いわゆる多値) を関数が返せる言語はそれほど多くない。
LISP 系は多値のサポートがあることが多いけどそれ以外だと Go くらいじゃないかな?
(マイナー言語だとわからんけどよく知られている主要な言語にはほとんどないと思う。)
シンタクス的には C++ で return にカンマ区切りで複数の値を渡そうとしたとき、
つまり
return 1, 2, 3;
というように書いたときのカンマはカンマ演算子として解釈される。
カンマ演算子は左辺の結果を捨てる (評価はする) ので 3 だけが返却値になる。
C++ で複数の値をひとまとめにするには波括弧で囲む記法があって
std::tuple<int, int, int> foo(void) {
return {1, 2, 3};
}
というように書けるんだが……
この波括弧は初期化の記法であってタプルのリテラルというわけではないのでそこんところは注意。
Python で return にカンマ区切りで複数の式を書くとタプルになってる。
受け取る側で複数の変数を書いておけばタプルが分配 (unpack) されたりはするけど……
関数が返却しているのはあくまでもひとつの値という理屈。
複数の値 (いわゆる多値) を関数が返せる言語はそれほど多くない。
LISP 系は多値のサポートがあることが多いけどそれ以外だと Go くらいじゃないかな?
(マイナー言語だとわからんけどよく知られている主要な言語にはほとんどないと思う。)
シンタクス的には C++ で return にカンマ区切りで複数の値を渡そうとしたとき、
つまり
return 1, 2, 3;
というように書いたときのカンマはカンマ演算子として解釈される。
カンマ演算子は左辺の結果を捨てる (評価はする) ので 3 だけが返却値になる。
C++ で複数の値をひとまとめにするには波括弧で囲む記法があって
std::tuple<int, int, int> foo(void) {
return {1, 2, 3};
}
というように書けるんだが……
この波括弧は初期化の記法であってタプルのリテラルというわけではないのでそこんところは注意。
580デフォルトの名無しさん (ワッチョイ d1d6-uNzz)
2025/08/22(金) 10:49:05.94ID:hiXhYkKD0581デフォルトの名無しさん (ブーイモ MMb3-Srv/)
2025/08/22(金) 11:06:34.54ID:HM+/3rtsM582デフォルトの名無しさん (スププ Sdb3-im2P)
2025/08/22(金) 11:49:05.11ID:ZeYv0pFNd C++も昔に比べれば随分と楽になった
583はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5932-86vp)
2025/08/22(金) 12:07:46.82ID:s1oN92u00 >>580
タプルは単にタプル型の値なので普通に受け取れる。
auto bar = foo();
といったように書ける。
タプルから要素を取り出すのは std::get<0>(bar); といった要領になる。
受け取るときに変数に分配するやり方もあって
atuo [r1, r2, r3] = foo();
というようにも書ける。
これを構造化束縛という。
おそらくこれが期待していたものなんじゃないか?
この記法はタプルに限らずタプルライクな型、配列型、データメンバが全て公開直接メンバであるような型などであれば使える。
タプルは単にタプル型の値なので普通に受け取れる。
auto bar = foo();
といったように書ける。
タプルから要素を取り出すのは std::get<0>(bar); といった要領になる。
受け取るときに変数に分配するやり方もあって
atuo [r1, r2, r3] = foo();
というようにも書ける。
これを構造化束縛という。
おそらくこれが期待していたものなんじゃないか?
この記法はタプルに限らずタプルライクな型、配列型、データメンバが全て公開直接メンバであるような型などであれば使える。
584はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5932-86vp)
2025/08/22(金) 12:23:44.06ID:s1oN92u00 もし使っているコンパイラが MSVC なら MSVC のデフォルトでは C++14 になってるはずだからそのままだと構造化束縛を使えないかも。
(構造化束縛は C++17 から。)
私は MSVC を利用していないから具体的なやり方は知らんけど必要なら適当に設定してね。
(構造化束縛は C++17 から。)
私は MSVC を利用していないから具体的なやり方は知らんけど必要なら適当に設定してね。
585デフォルトの名無しさん (ワッチョイ d1d6-uNzz)
2025/08/22(金) 17:49:52.20ID:hiXhYkKD0 どもです。構造化束縛ね。なんか聞いた事あるかなという程度だった。
使うかなぁ・・・
使うかなぁ・・・
586デフォルトの名無しさん (ワッチョイ c1ad-F95I)
2025/08/22(金) 21:41:35.66ID:NcnZjMQ+0 構造体ほど強いまとまりではなく、返り値だけのゆるいまとまりなら構造化束縛の方が便利だけどねぇ
587デフォルトの名無しさん (ワッチョイ d38d-PSkW)
2025/08/22(金) 21:41:55.58ID:iDw/vpGA0 >>579
std::tuple<int, float, long> foo(void) { return {1, 2.1, 99}; }
atuo [r1, r2, r3] = foo();
って書いたら、
r1に1が、r2に2.1が入るの?
まあそれでもいいかな
PythonからC++に移植中で、ちょっと読みづらいと思ったので…
std::tuple<int, float, long> foo(void) { return {1, 2.1, 99}; }
atuo [r1, r2, r3] = foo();
って書いたら、
r1に1が、r2に2.1が入るの?
まあそれでもいいかな
PythonからC++に移植中で、ちょっと読みづらいと思ったので…
588デフォルトの名無しさん (ワッチョイ d38d-PSkW)
2025/08/22(金) 21:45:40.16ID:iDw/vpGA0589デフォルトの名無しさん (ワッチョイ c1ad-F95I)
2025/08/22(金) 22:11:20.77ID:NcnZjMQ+0 Python でも複数return ってできないと思うけど?
カンマ演算子でタプルを作って返してるだけでしょ
カンマ演算子でタプルを作って返してるだけでしょ
590デフォルトの名無しさん (ワッチョイ 51a5-VfJp)
2025/08/22(金) 23:03:10.61ID:5NhjtIih0 そうやね。Pytnonのカンマは、言語仕様上は演算子とは一応区別されているみたいだけど、感覚的には演算子だよね。何で演算子ではないんだろうというのはちょっとした疑問だけど(1, みたいなのを後置演算子と呼ぶのはちょっと変とかそういうことかな?)
591デフォルトの名無しさん (ワッチョイ d1d6-uNzz)
2025/08/23(土) 01:30:59.35ID:ynkOCuVA0 //こんな感じ?
#include <iostream>
#include <tuple>
using namespace std;
tuple<int, float, long> foo() {
return {1, 2.1, 99};
}
int main(){
auto [r1, r2, r3] = foo();
cout<<r1<<endl;
cout<<r2<<endl;
cout<<r3<<endl;
return 0;
}
#include <iostream>
#include <tuple>
using namespace std;
tuple<int, float, long> foo() {
return {1, 2.1, 99};
}
int main(){
auto [r1, r2, r3] = foo();
cout<<r1<<endl;
cout<<r2<<endl;
cout<<r3<<endl;
return 0;
}
592デフォルトの名無しさん (ワッチョイ 7101-Im4V)
2025/08/23(土) 01:57:32.43ID:HIKpDy1T0 構造化束縛を調べてみたら
fooの返り値はtupleでなくてもpairで返しても良さそうなんだけど
どういうルールなの? キモい
fooの返り値はtupleでなくてもpairで返しても良さそうなんだけど
どういうルールなの? キモい
593はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5932-oZZu)
2025/08/23(土) 02:11:02.56ID:CHT0FIec0 >>592
それがタプルライクの概念。
std::tuple_size の特殊化など、いくつかのインターフェイスを実装すればタプルと同じように扱ってくれる仕組み。
それとは別に配列の場合とか、全てのデータメンバが公開直接メンバなクラスもありということになってるのは単純に箇条書きで数種類のパターンを示す形になってる。
それほどパターンが多くはないがひとつの原則で表せるわけでもない。
それがタプルライクの概念。
std::tuple_size の特殊化など、いくつかのインターフェイスを実装すればタプルと同じように扱ってくれる仕組み。
それとは別に配列の場合とか、全てのデータメンバが公開直接メンバなクラスもありということになってるのは単純に箇条書きで数種類のパターンを示す形になってる。
それほどパターンが多くはないがひとつの原則で表せるわけでもない。
594デフォルトの名無しさん (ワッチョイ 7101-Im4V)
2025/08/23(土) 02:22:04.99ID:HIKpDy1T0595デフォルトの名無しさん (ワッチョイ 2b10-fgJ7)
2025/08/23(土) 09:17:36.36ID:rBYkDYvT0 構造的部分型とか静的ダックタイピングって呼ばれるやつ?
596デフォルトの名無しさん (ワッチョイ d326-PSkW)
2025/08/23(土) 13:12:32.34ID:wVRYzYK20597はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 51e2-oZZu)
2025/08/23(土) 13:15:39.41ID:DefMPT1k0 代入のときは tie を使う。
598デフォルトの名無しさん (ワッチョイ c9bc-zJwz)
2025/08/23(土) 15:01:16.09ID:p3yrvAiP0 テンプレートの黒魔術で脳汁出てからが本番
599デフォルトの名無しさん (ワッチョイ 5be0-Srv/)
2025/08/23(土) 15:37:03.06ID:T+HzfXMC0 >>596
別の言語っぽくって考えは捨てた方が身のため
別の言語っぽくって考えは捨てた方が身のため
600デフォルトの名無しさん (ワッチョイ 9379-XJDV)
2025/08/23(土) 19:08:06.22ID:VwZegIlc0 666!
601デフォルトの名無しさん (スフッ Sdb3-im2P)
2025/08/23(土) 19:56:19.30ID:k0uySdFmd struct {
int r1,
float r2,
long r3
} t;
t = foo();
って描きたい
struct に tuple からのコンストラクタを実装すれば良いのかな
int r1,
float r2,
long r3
} t;
t = foo();
って描きたい
struct に tuple からのコンストラクタを実装すれば良いのかな
602はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5932-86vp)
2025/08/23(土) 20:18:30.70ID:CHT0FIec0 >>601
最初から foo がその型で返せばいいんでないの?
最初から foo がその型で返せばいいんでないの?
603デフォルトの名無しさん (ワッチョイ 6dad-W0Wb)
2025/08/24(日) 12:07:46.50ID:HqphwiLf0 C言語から続くカンマ演算子が分かってないんでは?
604デフォルトの名無しさん (ワッチョイ fee0-ea+o)
2025/08/24(日) 12:09:48.21ID:gU3L8vdd0 Pythonあがりだから型を定義する意味がわかってないんだと思う
605デフォルトの名無しさん (ワッチョイ 15d6-VoZ8)
2025/08/25(月) 07:55:54.04ID:O202BBJ90 a=10
a=’hello'
翻訳しながらだからできるんだろうけどね。
a=’hello'
翻訳しながらだからできるんだろうけどね。
606デフォルトの名無しさん (ワッチョイ 86cf-tcs3)
2025/08/25(月) 08:19:19.75ID:X23BjBGY0 >590
左辺にも現れるからじゃね?
左辺にも現れるからじゃね?
607初心者プログラマー (ワッチョイ d5ce-rKTE)
2025/08/28(木) 17:50:07.17ID:GULY1B8W0 cppでbazelでmediapipeのビルド方法を教えてくれる方はいませんか?
自分の環境
Visual Studio Community 2022
Windows11 64 ビット
scoopでbazel 5.3.0
Python 3.10.0
自分の環境
Visual Studio Community 2022
Windows11 64 ビット
scoopでbazel 5.3.0
Python 3.10.0
608青木康善 (アウアウウー Sa47-Rd44)
2025/09/07(日) 03:16:03.97ID:Fgms30k2a なんか、javaより簡単に思えてきました。
609はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 1732-F+lb)
2025/09/07(日) 06:54:14.37ID:Ur1gsBeL0 そうか。
610デフォルトの名無しさん (ワッチョイ dbd6-ERpe)
2025/09/07(日) 07:39:38.11ID:yhbLpr+z0 obj1=obj2;
の後obj2を変更すると、obj1が書き換わってまってびっくりして
その後、Javaが怖い親父です。
の後obj2を変更すると、obj1が書き換わってまってびっくりして
その後、Javaが怖い親父です。
611デフォルトの名無しさん (ワッチョイ 7f5f-Z2G8)
2025/09/07(日) 13:56:14.79ID:ZFShxqYO0 C/C++もポインタを代入するとそうなるよ
612デフォルトの名無しさん (ワッチョイ a380-1jR+)
2025/09/07(日) 15:17:34.87ID:DiKqvn8B0 この親父他の言語ほぼ使えんだろ
613デフォルトの名無しさん (アウアウウー Sa47-Y7lD)
2025/09/07(日) 15:34:33.99ID:AK/wIzqla614デフォルトの名無しさん (ワントンキン MMe6-+IOe)
2025/09/07(日) 16:53:15.89ID:2DaEs5aKM615デフォルトの名無しさん (ワッチョイ dbd6-ERpe)
2025/09/07(日) 17:20:59.28ID:yhbLpr+z0616デフォルトの名無しさん (ワッチョイ 1ba6-aHNR)
2025/09/07(日) 17:34:06.57ID:5bTmv8Qp0 参照メインの言語で書き換えを頻繁に行うとそりゃ事故るよ、注意力にも限界がある
値の書き換えをするならC++のように変数が直接値を持つ言語がいいし
参照をメインにするなら関数型言語のようにimmutableを基本にするべきだ
値の書き換えをするならC++のように変数が直接値を持つ言語がいいし
参照をメインにするなら関数型言語のようにimmutableを基本にするべきだ
617デフォルトの名無しさん (オッペケ Sr3b-wO3q)
2025/09/07(日) 18:17:46.03ID:kASsF2K3r ないしは、q=p; ってしたときに、pがダメになってくれるか
618デフォルトの名無しさん (ワントンキン MMe6-+IOe)
2025/09/07(日) 22:03:02.60ID:2DaEs5aKM >>615
C++では参照の競合があってもエラーとならず安全性は保証されないよ
例えば以下の挙動
std::vector<int> v{0, 1, 2, 3, 4, 5, 6, 7};
int& fifth = v[5];
v.push_back(100);
std::vector<int> w{8, 8, 8, 8, 8, 8, 8, 8};
fifth = 555;
std::cout << "v[5] = " << v[5] << std::endl;
std::cout << "w[5] = " << w[5] << std::endl;
C++では参照の競合があってもエラーとならず安全性は保証されないよ
例えば以下の挙動
std::vector<int> v{0, 1, 2, 3, 4, 5, 6, 7};
int& fifth = v[5];
v.push_back(100);
std::vector<int> w{8, 8, 8, 8, 8, 8, 8, 8};
fifth = 555;
std::cout << "v[5] = " << v[5] << std::endl;
std::cout << "w[5] = " << w[5] << std::endl;
619デフォルトの名無しさん (ワッチョイ dbd6-ERpe)
2025/09/08(月) 07:59:15.17ID:It1Ffdlu0620はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 1732-F+lb)
2025/09/08(月) 10:27:54.64ID:bx3qX9/R0 状況を一から説明すると……
これは fifth が古い無効になった場所を参照する可能性があることが問題。
std::vector の各要素は連続した空間に配置されることが保証されている。
要素の増減でその場所の都合が悪くなれば再配置される可能性があり、
再配置が起こったときは要素を指していたイテレータや参照は無効になるというルール。
無効なイテレータや参照を通じてアクセスしたら何が起こるかわからない。
再配置が起こる可能性がある操作については個々に仕様に書かれているけれど、
キャパシティを変更する (可能性がある) ような操作はどれも再配置が起こりえると覚えておけばいい。
そんでもってこれのややこしいところは「可能性がある」ってところで、
キャパシティをどれくらい拡大するか実装によって差があるし、
状況によっては場所を移動せずに大きさを伸ばせるかもしれない。
つまり問題が顕在化しないかもしれない。
一般論として倍々に延ばす実装がよく知られているからこの例では最初に要素を 8 個にして
顕在化しやすいようにしたんだろう。
これは fifth が古い無効になった場所を参照する可能性があることが問題。
std::vector の各要素は連続した空間に配置されることが保証されている。
要素の増減でその場所の都合が悪くなれば再配置される可能性があり、
再配置が起こったときは要素を指していたイテレータや参照は無効になるというルール。
無効なイテレータや参照を通じてアクセスしたら何が起こるかわからない。
再配置が起こる可能性がある操作については個々に仕様に書かれているけれど、
キャパシティを変更する (可能性がある) ような操作はどれも再配置が起こりえると覚えておけばいい。
そんでもってこれのややこしいところは「可能性がある」ってところで、
キャパシティをどれくらい拡大するか実装によって差があるし、
状況によっては場所を移動せずに大きさを伸ばせるかもしれない。
つまり問題が顕在化しないかもしれない。
一般論として倍々に延ばす実装がよく知られているからこの例では最初に要素を 8 個にして
顕在化しやすいようにしたんだろう。
621デフォルトの名無しさん (ワッチョイ dbd6-ERpe)
2025/09/08(月) 10:47:28.92ID:It1Ffdlu0 >>620
どもです。要素数8ってのもさすがって感じでした。
どもです。要素数8ってのもさすがって感じでした。
622デフォルトの名無しさん (ワンミングク MM8a-+IOe)
2025/09/08(月) 22:24:25.56ID:EA0JjXQaM >>620
今回の問題に限ればその通り
ただし問題の本質は二つの参照(変数fifthとpush_back呼び出し時の参照)を使ったこと
今回はダングリング参照で問題を分かりやすく示したがメモリ問題もvectorも本質ではなく任意のデータに対する参照で問題が起きる
既に参照fifthを持つ状況で同じデータを指す別の参照を関数push_backに渡してデータが書き換えられた
参照fifthが指す値は当初から値が変更されてしまったりダングリングで無効な値になる可能性がある
これが二つの参照の競合による問題で値がいつの間にか書き換わってしまっていることでバグも誘発する
両方の参照が書き換えを伴わないreadonlyの時のみ安全になる
片方もしくは両方の参照が書き換えを伴うと安全でなくなる
今回の問題に限ればその通り
ただし問題の本質は二つの参照(変数fifthとpush_back呼び出し時の参照)を使ったこと
今回はダングリング参照で問題を分かりやすく示したがメモリ問題もvectorも本質ではなく任意のデータに対する参照で問題が起きる
既に参照fifthを持つ状況で同じデータを指す別の参照を関数push_backに渡してデータが書き換えられた
参照fifthが指す値は当初から値が変更されてしまったりダングリングで無効な値になる可能性がある
これが二つの参照の競合による問題で値がいつの間にか書き換わってしまっていることでバグも誘発する
両方の参照が書き換えを伴わないreadonlyの時のみ安全になる
片方もしくは両方の参照が書き換えを伴うと安全でなくなる
623デフォルトの名無しさん (ワッチョイ e3ad-ckwE)
2025/09/08(月) 23:06:53.70ID:HoahUzIM0 再配置が行われるものに参照使って、その生存期間を超えてアクセスするのは未定義動作になるわな。C++に慣れてればそんなコードは書かないが、初級者向けではない。readonly より、lifetime の問題でしょう
624デフォルトの名無しさん (ワッチョイ 177c-h0AF)
2025/09/09(火) 00:29:11.16ID:TMUamLpP0 参照が無効になる条件は規定されてるし、先にcapacity設定するとか避ける方法も用意されてる
「問題の本質」とやらはただのライブラリ仕様の無理解だろ
分かりにくいとか間違えやすいとかの批判なら分かるけど
「問題の本質」とやらはただのライブラリ仕様の無理解だろ
分かりにくいとか間違えやすいとかの批判なら分かるけど
625デフォルトの名無しさん (ワントンキン MM8a-+IOe)
2025/09/09(火) 07:24:41.95ID:DVL1/TmTM626デフォルトの名無しさん (ワントンキン MM8a-+IOe)
2025/09/09(火) 07:29:27.85ID:DVL1/TmTM627デフォルトの名無しさん (スフッ Sdba-bj1o)
2025/09/09(火) 10:47:02.21ID:g327vfuJd readonlyでない競合する参照を禁止している言語もある
628デフォルトの名無しさん (ワッチョイ 97e4-1jR+)
2025/09/09(火) 12:16:08.28ID:iPWQv8Oa0 はいはい線型論理言いたいだけ
629デフォルトの名無しさん (アウアウウー Sa47-Rd44)
2025/09/10(水) 00:51:51.50ID:BnR46AnOa >>618
これはvにpush_backしたところでキャパ超えて別の場所にリアロックされ、ともない元のvの領域が空になって、即座にwがスポンとそのvが元あった場所に配置されたってことなのですか?
これはvにpush_backしたところでキャパ超えて別の場所にリアロックされ、ともない元のvの領域が空になって、即座にwがスポンとそのvが元あった場所に配置されたってことなのですか?
630デフォルトの名無しさん (スッププ Sdba-j4tR)
2025/09/10(水) 02:12:52.51ID:IF/zSGeMd そうだよ。
規格上は何の保証もないから、処理系とかによっては全然違う結果になるかもしれないけど。
規格上は何の保証もないから、処理系とかによっては全然違う結果になるかもしれないけど。
632デフォルトの名無しさん (ワッチョイ 4e1f-bj1o)
2025/09/10(水) 10:13:08.62ID:zTYInGVv0 >再構築されて新規の要素を保持してしまったで合ってますか
こう聴かれると「違う」と返事したくなる
こう聴かれると「違う」と返事したくなる
633デフォルトの名無しさん (ワッチョイ 177c-h0AF)
2025/09/10(水) 18:40:20.64ID:Vv9EwJFH0 未定義動作だからな
たまたま鼻から悪魔が出る代わりにそうなっただけだ
たまたま鼻から悪魔が出る代わりにそうなっただけだ
634デフォルトの名無しさん (ワッチョイ a75f-ckwE)
2025/09/10(水) 22:18:27.54ID:RAO/BxQt0 参照の競合という用語に違和感。並行性に関わる競合状態 (race condition) の話をしようとしているのか?
635デフォルトの名無しさん (ワッチョイ b68c-1jR+)
2025/09/10(水) 22:31:03.50ID:BZTqerG60 してない
636デフォルトの名無しさん (ワッチョイ a3d6-X2Ee)
2025/09/22(月) 23:24:45.15ID:ZT49UQS30 でわ 簡単?な話題を。
int data{}; ってやります? int data{0}; ってやります?
int data{}; ってやります? int data{0}; ってやります?
637デフォルトの名無しさん (ワッチョイ 7f7c-3pIy)
2025/09/23(火) 06:55:15.77ID:S9rfzcfC0 int data = 0; ってやる
638はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7f32-BMc3)
2025/09/23(火) 10:47:53.44ID:0b1Ncss10 auto data = 0;
とか、型が明示的なのが好みなら
auto data = int();
といった選択肢もある。
私は
int data = 0;
派だけど。
とか、型が明示的なのが好みなら
auto data = int();
といった選択肢もある。
私は
int data = 0;
派だけど。
639デフォルトの名無しさん (ワッチョイ 8a02-CSnM)
2025/09/23(火) 10:57:08.68ID:NP1ck5iL0640はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7f32-BMc3)
2025/09/23(火) 11:12:21.28ID:0b1Ncss10641デフォルトの名無しさん (ワッチョイ 8a02-CSnM)
2025/09/23(火) 11:17:00.61ID:NP1ck5iL0642デフォルトの名無しさん (ワッチョイ a3d6-X2Ee)
2025/09/23(火) 12:32:51.63ID:zwbfimRS0 >>638
イテレータの返しを受けるオブジェクトはauto使うと便利みたいな
イテレータの返しを受けるオブジェクトはauto使うと便利みたいな
643デフォルトの名無しさん (ワッチョイ 46f6-RvFB)
2025/09/23(火) 14:23:55.04ID:SO+rqWsF0644はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7f32-BMc3)
2025/09/23(火) 14:48:06.92ID:0b1Ncss10 前提条件を変えると何でも言えてしまう。
とりあえずここでは発端は >>636 なのだから変数 data の型が int であり (多相にはしない) 内容はゼロで初期化するという狭い仮定を置いたほうがよかろう。
auto を持ち出したのは変に話題を曲げてしまったな。すまぬ。
とりあえずここでは発端は >>636 なのだから変数 data の型が int であり (多相にはしない) 内容はゼロで初期化するという狭い仮定を置いたほうがよかろう。
auto を持ち出したのは変に話題を曲げてしまったな。すまぬ。
645デフォルトの名無しさん (オッペケ Sr23-RsoB)
2025/09/23(火) 20:34:08.12ID:3YWvMRZsr 今北
いまさら人に聞けない
auto って、右辺の型もそのまま左辺にコピーしてきてよ、って感じで使ってるんだけど
その認識で間違ってない? 落とし穴とかある?
いまさら人に聞けない
auto って、右辺の型もそのまま左辺にコピーしてきてよ、って感じで使ってるんだけど
その認識で間違ってない? 落とし穴とかある?
646デフォルトの名無しさん (ワッチョイ 467f-IpVF)
2025/09/23(火) 20:39:56.49ID:7uroOMzl0 右辺が式の場合もあるし
その時自分が思ってた型とautoの型が一致するとは限らないところとか
その時自分が思ってた型とautoの型が一致するとは限らないところとか
647デフォルトの名無しさん (ワッチョイ 73f0-ar7H)
2025/09/23(火) 21:26:37.10ID:qWXNEai60 autoで手抜きしすぎるとあとでソース追うときにエライ苦労することあるから気を付けろよ
648デフォルトの名無しさん (ワッチョイ 8a02-CSnM)
2025/09/23(火) 21:34:42.79ID:NP1ck5iL0649はちみつ餃子 ◆8X2XSCHEME (ワッチョイ e328-BMc3)
2025/09/24(水) 02:24:38.07ID:hHyw0Adk0 >>645
その認識でおおよそ正しいが変則的な部分もある。
auto foo = { 1, 2, 3 };
みたいに書くと initializer_list に推論されたりするのは知らないとちょっとびっくりするかもしれない。
それと修飾子などを組み合わせで使うことも出来る。
const auto* bar = &baz;
みたいに。
その認識でおおよそ正しいが変則的な部分もある。
auto foo = { 1, 2, 3 };
みたいに書くと initializer_list に推論されたりするのは知らないとちょっとびっくりするかもしれない。
それと修飾子などを組み合わせで使うことも出来る。
const auto* bar = &baz;
みたいに。
650デフォルトの名無しさん (ワッチョイ 8a02-CSnM)
2025/09/24(水) 07:20:39.19ID:tMR45KsJ0651はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7f32-VPhE)
2025/09/24(水) 08:23:07.29ID:yL+cLVSS0 >>650
ゆるいというのがどういう意味で言ってるのかわからないからなんとも言えない。
特に有用なのはテンプレート内で、たとえば
template<class T>
void foo(T x) {
auto bar = baz(x); // baz は関数テンプレートだとする
// ここでなんやかんや
}
みたいなのがあるとき auto を使わずに型を合わせて書こうとすると
template<class T>
void foo(T x) {
decltype(baz(x)) bar = baz(x); // baz は関数テンプレートだとする
// ここでなんやかんや
}
みたいになってわずらわしい。
初期化子の型をそのまま持ってくれば良いときに型を明示しても可読性に貢献しないし、簡便な記法があると楽。
ゆるいというのがどういう意味で言ってるのかわからないからなんとも言えない。
特に有用なのはテンプレート内で、たとえば
template<class T>
void foo(T x) {
auto bar = baz(x); // baz は関数テンプレートだとする
// ここでなんやかんや
}
みたいなのがあるとき auto を使わずに型を合わせて書こうとすると
template<class T>
void foo(T x) {
decltype(baz(x)) bar = baz(x); // baz は関数テンプレートだとする
// ここでなんやかんや
}
みたいになってわずらわしい。
初期化子の型をそのまま持ってくれば良いときに型を明示しても可読性に貢献しないし、簡便な記法があると楽。
652デフォルトの名無しさん (JP 0Hc6-xemb)
2025/09/24(水) 12:48:43.78ID:4f1PT/5nH std::make_sharedとか使うと行が長くなりがちだからauto便利
653デフォルトの名無しさん (ワッチョイ 4a4e-rfem)
2025/09/24(水) 23:18:51.30ID:OQUpbPvH0 autoでしか出来ないこともあるから奥が深い
654デフォルトの名無しさん (ワッチョイ e3a6-YvLc)
2025/09/24(水) 23:47:45.55ID:wXWMV3aG0 罠仕様が仕込まれてるってだけでは
655デフォルトの名無しさん (オッペケ Sr23-RsoB)
2025/09/25(木) 06:56:54.48ID:iHrblX0Rr Rust派に言わせれば、C++が罠らしいぞw
でもそのC++が、今の俺を生んだ
でもそのC++が、今の俺を生んだ
656デフォルトの名無しさん (ワッチョイ 0679-P6+q)
2025/09/25(木) 16:58:42.68ID:tx4jrZ/E0 有用なときもあるけど、ライブラリ用のコードで乱発するとメンテナンスが大変
可読性メンテナンス性を考えるなら、冗長でない限りはちゃんと書いた方がいい
>>651
それもbaz(buz?)の戻り値の型はTから導出出来るんだから、よほどややこしくない限りはそれ(decltypeで手抜きせずに)を書いた方が可読性メンテナンス性の面では良い
可読性メンテナンス性を考えるなら、冗長でない限りはちゃんと書いた方がいい
>>651
それもbaz(buz?)の戻り値の型はTから導出出来るんだから、よほどややこしくない限りはそれ(decltypeで手抜きせずに)を書いた方が可読性メンテナンス性の面では良い
657デフォルトの名無しさん (ワッチョイ 4640-RvFB)
2025/09/25(木) 17:00:57.66ID:/3f9OB3n0 >>656
お前テンプレートプログラミングの素人さんだよね
お前テンプレートプログラミングの素人さんだよね
658デフォルトの名無しさん (ワッチョイ 0679-P6+q)
2025/09/25(木) 20:40:29.81ID:tx4jrZ/E0 >>657
自己紹介乙w
Expression Template使って線形代数のライブラリ作った人間だが、ETで利用者がauto使うとどういう問題が起きるか答えてみ
まさか分かりませんとか言わないよな?
テンプレート使ったライブラリ(てか標準ライブラリ)を"利用する"しかしたことのない人間が調子に乗るな
自己紹介乙w
Expression Template使って線形代数のライブラリ作った人間だが、ETで利用者がauto使うとどういう問題が起きるか答えてみ
まさか分かりませんとか言わないよな?
テンプレート使ったライブラリ(てか標準ライブラリ)を"利用する"しかしたことのない人間が調子に乗るな
659デフォルトの名無しさん (ワッチョイ 3b82-IpVF)
2025/09/25(木) 20:43:04.50ID:nRsNESWS0 なんか「その理論を作ったのは私ですが」みたいなものを感じる
技術発表の際の怖い質問とかなんとかのやつw
技術発表の際の怖い質問とかなんとかのやつw
660デフォルトの名無しさん (ワッチョイ 4a4e-rfem)
2025/09/25(木) 20:43:46.25ID:ofoI5OnU0 言葉ならなんとでも言えるわな
661650 (ワッチョイ 8a02-CSnM)
2025/09/25(木) 20:44:29.25ID:hN2fGih80662650 (ワッチョイ 8a02-CSnM)
2025/09/25(木) 20:46:08.51ID:hN2fGih80663デフォルトの名無しさん (ワッチョイ 0679-P6+q)
2025/09/25(木) 20:54:22.86ID:tx4jrZ/E0664デフォルトの名無しさん (ワッチョイ ff67-ZW/Z)
2025/09/25(木) 21:36:33.99ID:SUv+BSiy0 今ならconceptを使うのが筋が良いんだろうな
他の言語みたいに型制約を書かずにジェネリクスを使えるけど、これは良くも悪くもだよね
楽と言えば楽だけど
他の言語みたいに型制約を書かずにジェネリクスを使えるけど、これは良くも悪くもだよね
楽と言えば楽だけど
665デフォルトの名無しさん (ワッチョイ 7307-RsoB)
2025/09/26(金) 01:34:47.37ID:aJA0eUoF0666デフォルトの名無しさん (ブーイモ MMbb-RvFB)
2025/09/26(金) 01:53:11.78ID:IAhZoqBcM >>658
端的に言って
> それもbaz(buz?)の戻り値の型はTから導出出来るんだから、
ここだよ
関数テンプレートなんだから型が導出できるとは限らない
なぜお前は断言したのかな?
導出できない例にぶち当たったことがないからだよな
端的に言って
> それもbaz(buz?)の戻り値の型はTから導出出来るんだから、
ここだよ
関数テンプレートなんだから型が導出できるとは限らない
なぜお前は断言したのかな?
導出できない例にぶち当たったことがないからだよな
667デフォルトの名無しさん (ワッチョイ 0679-P6+q)
2025/09/26(金) 07:26:52.27ID:uQKo8FSG0668デフォルトの名無しさん (ワッチョイ 8e02-C7mS)
2025/09/26(金) 08:15:01.31ID:FGFv/5hn0 conceptはテンプレートだけじゃなく普通の変数制約にも使えればなぁ。
継承がほとんどいらなくなる。
継承がほとんどいらなくなる。
669デフォルトの名無しさん (アウアウウー Sacf-kv3/)
2025/09/26(金) 10:28:59.69ID:UkFmEBgMa >>647
判ります
判ります
670デフォルトの名無しさん (ワッチョイ 5301-QugL)
2025/09/26(金) 11:12:51.14ID:TfDLIQWg0 手抜きというか情報を重複させないためにはautoが必要
苦労するのは型情報を追えないツールが悪い
苦労するのは型情報を追えないツールが悪い
671デフォルトの名無しさん (ワッチョイ bff0-ar7H)
2025/09/26(金) 11:53:52.65ID:IRzSnzQy0672はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7f32-VPhE)
2025/09/26(金) 12:02:33.14ID:E9e6Z1Un0 expression template を auto で受けるとまずいってのは Eigen みたいな設計の話かな。
あれはムーブがない時代の設計だから一時オブジェクトの参照を保持してしまう (先に一時オブジェクトが解体されて寿命管理が破綻する) のが問題なのであって、解決のための仕組みが与えられたにもかかわらずそれを使ってない設計が悪い。
expression template の仕組み上でどうしても解決できないというわけではないし auto のせいでもない。
ムーブのコストすら許容できないだとか、古い C++ (C++03 以前) もサポートしなきゃならないみたいな事情があるなら「すまんけどこのライブラリを使うときは注意して」というべき筋合いの話で、「auto なんか使っとるからじゃ!」みたいな態度はおかしいだろ。
あれはムーブがない時代の設計だから一時オブジェクトの参照を保持してしまう (先に一時オブジェクトが解体されて寿命管理が破綻する) のが問題なのであって、解決のための仕組みが与えられたにもかかわらずそれを使ってない設計が悪い。
expression template の仕組み上でどうしても解決できないというわけではないし auto のせいでもない。
ムーブのコストすら許容できないだとか、古い C++ (C++03 以前) もサポートしなきゃならないみたいな事情があるなら「すまんけどこのライブラリを使うときは注意して」というべき筋合いの話で、「auto なんか使っとるからじゃ!」みたいな態度はおかしいだろ。
673デフォルトの名無しさん (ワッチョイ 0679-P6+q)
2025/09/26(金) 12:09:27.62ID:uQKo8FSG0 >>672
>のが問題なのであって
違う。ETの場合、関数(演算子オーバーロード含む)が返すのは、式の構造を表すオブジェクトなのでそれをautoで受けると式の展開が行われず、計算処理の無いコードになってしまう
それを逆手に取ってauto経由で展開のタイミング遅らせることもできるけどね
あとETの利点はムーブどうこうで解決できる問題だけではないし、
誰も「ETを万人が使うべき」だなどと言っとらんよ、何が気に入らんかったの?
で、はちみつお前いつも「知ったかぶりしていい加減なことを言う奴」に怒ってる割に、自分も同じ事してるよな
>のが問題なのであって
違う。ETの場合、関数(演算子オーバーロード含む)が返すのは、式の構造を表すオブジェクトなのでそれをautoで受けると式の展開が行われず、計算処理の無いコードになってしまう
それを逆手に取ってauto経由で展開のタイミング遅らせることもできるけどね
あとETの利点はムーブどうこうで解決できる問題だけではないし、
誰も「ETを万人が使うべき」だなどと言っとらんよ、何が気に入らんかったの?
で、はちみつお前いつも「知ったかぶりしていい加減なことを言う奴」に怒ってる割に、自分も同じ事してるよな
674デフォルトの名無しさん (ワッチョイ 0679-P6+q)
2025/09/26(金) 12:11:01.51ID:uQKo8FSG0 あと
>「auto なんか使っとるからじゃ!」
一言も言ってないんだが。流れ読み直しておいで
>「auto なんか使っとるからじゃ!」
一言も言ってないんだが。流れ読み直しておいで
675はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7f32-BMc3)
2025/09/26(金) 12:54:00.88ID:E9e6Z1Un0 >>672
> autoで受けると式の展開が行われず、計算処理の無いコードになってしまう
書いてなかったが評価タイミングは適当な関数で明示的にする前提を置いてた。
未定義を踏むのは他の何と比べても駄目だ。単に思ってた結果と違ったなんてのは重要じゃない。
> 誰も「ETを万人が使うべき」だなどと言っとらんよ、何が気に入らんかったの?
日常的には使わないケースだからこそだ。
それが auto の問題点のように挙げられてただろ?
ライブラリのほうが C++ の自然な習慣に合わせるのが筋なのにさ。
> autoで受けると式の展開が行われず、計算処理の無いコードになってしまう
書いてなかったが評価タイミングは適当な関数で明示的にする前提を置いてた。
未定義を踏むのは他の何と比べても駄目だ。単に思ってた結果と違ったなんてのは重要じゃない。
> 誰も「ETを万人が使うべき」だなどと言っとらんよ、何が気に入らんかったの?
日常的には使わないケースだからこそだ。
それが auto の問題点のように挙げられてただろ?
ライブラリのほうが C++ の自然な習慣に合わせるのが筋なのにさ。
676デフォルトの名無しさん (ササクッテロラ Sp23-P6+q)
2025/09/26(金) 13:15:19.27ID:4po4sxfpp677デフォルトの名無しさん (ササクッテロラ Sp23-P6+q)
2025/09/26(金) 13:19:26.24ID:4po4sxfpp >>675
あと、ETで式の評価が発生するのは関数の呼び出し時ではない。どうでもいいけど
あと俺が作ったのは4次元まで(行列なら4x4まで。ゲーム用なので)だからヒープ使わんのでそもそもムーブどうこうは関係無いし、勝手によそのライブラリの未定義の話を持ってこられても困る
あと、ETで式の評価が発生するのは関数の呼び出し時ではない。どうでもいいけど
あと俺が作ったのは4次元まで(行列なら4x4まで。ゲーム用なので)だからヒープ使わんのでそもそもムーブどうこうは関係無いし、勝手によそのライブラリの未定義の話を持ってこられても困る
678はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7f32-BMc3)
2025/09/26(金) 13:57:45.37ID:E9e6Z1Un0 >>677
eigen は例として話題に出したつもりだったが余計だったな。
端的に主旨を言えば expression template の原理的には auto で受けれるように作ることは可能、かつその方が親切な作りだろうという話をしてる。
お前がどんな設計をしたのかなんてそれこそ俺には知ったことじゃないし、知りようもない。
お前のライブラリで auto で受けれないのはお前がそう設計しただけの話なので、 それを根拠に auto がどうこう言ってもなんの足しにもならん。
eigen は例として話題に出したつもりだったが余計だったな。
端的に主旨を言えば expression template の原理的には auto で受けれるように作ることは可能、かつその方が親切な作りだろうという話をしてる。
お前がどんな設計をしたのかなんてそれこそ俺には知ったことじゃないし、知りようもない。
お前のライブラリで auto で受けれないのはお前がそう設計しただけの話なので、 それを根拠に auto がどうこう言ってもなんの足しにもならん。
679デフォルトの名無しさん (ササクッテロラ Sp23-P6+q)
2025/09/26(金) 14:04:20.28ID:4po4sxfpp680はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7f32-BMc3)
2025/09/26(金) 14:08:11.66ID:E9e6Z1Un0 >>679
悪い設計のせいで利用者に不自然な書き方を強いるライブラリを作ったという話だということは理解してる。
悪い設計のせいで利用者に不自然な書き方を強いるライブラリを作ったという話だということは理解してる。
681デフォルトの名無しさん (ササクッテロラ Sp23-P6+q)
2025/09/26(金) 14:13:42.65ID:4po4sxfpp あといちいち知ったかぶってるバカに教えてやるのも腹が立つが、普通数値演算でET使うときは代入演算子やコンストラクタに式を渡した場所で初めて式を展開するんだよ
(autoでわざと評価を遅延させることも可能だと書いただろアホ)
Eigenでも多分そう
もちろんboost::spiritとかの構文解析ならパース処理の関数に渡すまで展開しないだろうが
(autoでわざと評価を遅延させることも可能だと書いただろアホ)
Eigenでも多分そう
もちろんboost::spiritとかの構文解析ならパース処理の関数に渡すまで展開しないだろうが
682デフォルトの名無しさん (ササクッテロラ Sp23-P6+q)
2025/09/26(金) 14:14:19.90ID:4po4sxfpp >>680
不自然なのはお前の、「スキルに見合わない自尊心」だと思うぞ
不自然なのはお前の、「スキルに見合わない自尊心」だと思うぞ
683デフォルトの名無しさん (ササクッテロラ Sp23-P6+q)
2025/09/26(金) 14:24:32.42ID:4po4sxfpp684デフォルトの名無しさん
2025/09/26(金) 17:03:47.95ID:iKKvsVQ80 お前ってのははちみつのこと言ってるのかね?
自分から絡んどいて何言ってんだろうコイツとしか思えんけど
自分から絡んどいて何言ってんだろうコイツとしか思えんけど
685デフォルトの名無しさん (ワッチョイ 0679-P6+q)
2025/09/26(金) 17:53:41.26ID:uQKo8FSG0686デフォルトの名無しさん (ワッチョイ 467f-RvFB)
2025/09/26(金) 19:18:42.84ID:+hZbpaFa0 >>685
ラムダの型導出できないだろ?
なんでこんなのも知らんのにえらそうにしてんの?
あと
https://wandbox.org/permlink/q5sTF1hp76f7jpnq
とかな
この例でfooでもif constexprを使えばautoはなくせるがそんなことやって可読性とかほざけない
他にもパターンあるぞ
謝罪してお前が作ったらしいヘボライブラリ公開したら教えてやってもいいぞ
ラムダの型導出できないだろ?
なんでこんなのも知らんのにえらそうにしてんの?
あと
https://wandbox.org/permlink/q5sTF1hp76f7jpnq
とかな
この例でfooでもif constexprを使えばautoはなくせるがそんなことやって可読性とかほざけない
他にもパターンあるぞ
謝罪してお前が作ったらしいヘボライブラリ公開したら教えてやってもいいぞ
687デフォルトの名無しさん (ワッチョイ 0679-P6+q)
2025/09/26(金) 19:32:01.31ID:uQKo8FSG0 屁理屈にも程がある
導出出来なきゃどうやって実体化するんだよ、Tしかテンプレートパラメータが無い状況でT以外に依存するものがあるのか?
まさか結果がTに依存するテンプレートになったら「導出出来てない」とかほざくの?
Tに依存するコンテナのイテレータと何も変わらんよそれ
導出出来なきゃどうやって実体化するんだよ、Tしかテンプレートパラメータが無い状況でT以外に依存するものがあるのか?
まさか結果がTに依存するテンプレートになったら「導出出来てない」とかほざくの?
Tに依存するコンテナのイテレータと何も変わらんよそれ
688デフォルトの名無しさん (ワッチョイ 0679-P6+q)
2025/09/26(金) 20:12:50.41ID:uQKo8FSG0 てかその例でauto使わずに戻り値格納するのにif constexpr使うしかないと思ってるとかどんだけ経験不足なんだ・・・(はっきり処理分けする必要がある場合を除く)
そんなクソみたいな例ならさすがにdecltypeかauto使いたくなるが(そもそも使うなと言ってないんだが)、conditionalも知らんのかお前は
必死に探してきてご苦労さん
そんなクソみたいな例ならさすがにdecltypeかauto使いたくなるが(そもそも使うなと言ってないんだが)、conditionalも知らんのかお前は
必死に探してきてご苦労さん
689デフォルトの名無しさん (ワッチョイ 7307-RsoB)
2025/09/26(金) 20:41:40.17ID:aJA0eUoF0 あの…そろそろ言っとくが
おもろいこと書いたヤツが優勝な?
2ちゃん5ちゃんの原則だぞ
おもろいこと書いたヤツが優勝な?
2ちゃん5ちゃんの原則だぞ
690デフォルトの名無しさん (ワッチョイ 0679-P6+q)
2025/09/26(金) 20:46:36.85ID:uQKo8FSG0 >>665はおもろいと自分で思ってんの?w
691デフォルトの名無しさん (ワッチョイ 467f-RvFB)
2025/09/26(金) 20:59:48.54ID:+hZbpaFa0692デフォルトの名無しさん (ワッチョイ 8a02-CSnM)
2025/09/27(土) 00:06:32.90ID:ov4hhnsF0 やっぱautoはゆるいね
C#とかPython的な感じ…
C#とかPython的な感じ…
693デフォルトの名無しさん (ワッチョイ 7307-RsoB)
2025/09/27(土) 05:08:15.66ID:rNLW6nkI0 C++は自由なんだよ
変な風にも使えるし、傍で見てたらめちゃくちゃにもなる
変な風にも使えるし、傍で見てたらめちゃくちゃにもなる
694デフォルトの名無しさん (ワッチョイ 1ed6-X2Ee)
2025/09/27(土) 05:36:45.87ID:p3kzti810 自分が使った方がいいと思った時は使う。
しかないよ。後は規約や上司に従うぐらいか。
しかないよ。後は規約や上司に従うぐらいか。
695デフォルトの名無しさん (ワッチョイ 7f7c-3pIy)
2025/09/27(土) 11:22:44.98ID:0x5FUGdK0 久々にC++スレらしくなってておっちゃん楽しいよ
696はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7f32-VPhE)
2025/09/27(土) 17:37:01.17ID:nSvwU9re0 >>681
コンストラクタや代入演算子で実際の計算を起動する方式も支持があるのは知ってるよ。
だからその代表例として有名どころの Eigen を話題に出したのだし、そこに齟齬はない。
その上で唯一の方式ではないし悪い設計だと言ってる。
私に反論するならどうしてそんな方式を取るのか利点 (悪い設計ではない理由) を説明すべきだった。
「数値計算で expression template を使うときは普通」なんて情報量ゼロのことを書かれても何の意味も感じられない。
コンストラクタや代入演算子をトリガーにするのは expression template を最適化として使う考え方だ。
つまり見かけ上は普通に式を書いてるだけなのに実は高速化しているというのがキモで、普通の式である「かのように」見える抽象化に意味がある。
実際の型を意識せざるを得なくなった段階で抽象化は破綻してる。
auto を使ったら何が起こるかを意識しなければならないのはライブラリ設計の失敗なんだよ。
隠れていたりいなかったりする半端な抽象化層を悪い設計と呼ぶのは間違ってるか?
> 再三言うが、>>658は>>657を叩くために出した問いに過ぎない
> 「意図しないコードになる」という話
そんなので意図しないコードになってしまうような作りのライブラリは出来が悪いという話なのはかわらん。
様々な事情に配慮してそうならざるを得ないということもあるというのならわかるが、
そうじゃなくて「それが普通なんだ」と思い込んだ狭い見識での判断なんだろ?
型を書くか auto にするかはスタイルの問題で、どちらを使うかで挙動が切り替わってしまうような設計のライブラリが本当にまともか?
コンストラクタや代入演算子で実際の計算を起動する方式も支持があるのは知ってるよ。
だからその代表例として有名どころの Eigen を話題に出したのだし、そこに齟齬はない。
その上で唯一の方式ではないし悪い設計だと言ってる。
私に反論するならどうしてそんな方式を取るのか利点 (悪い設計ではない理由) を説明すべきだった。
「数値計算で expression template を使うときは普通」なんて情報量ゼロのことを書かれても何の意味も感じられない。
コンストラクタや代入演算子をトリガーにするのは expression template を最適化として使う考え方だ。
つまり見かけ上は普通に式を書いてるだけなのに実は高速化しているというのがキモで、普通の式である「かのように」見える抽象化に意味がある。
実際の型を意識せざるを得なくなった段階で抽象化は破綻してる。
auto を使ったら何が起こるかを意識しなければならないのはライブラリ設計の失敗なんだよ。
隠れていたりいなかったりする半端な抽象化層を悪い設計と呼ぶのは間違ってるか?
> 再三言うが、>>658は>>657を叩くために出した問いに過ぎない
> 「意図しないコードになる」という話
そんなので意図しないコードになってしまうような作りのライブラリは出来が悪いという話なのはかわらん。
様々な事情に配慮してそうならざるを得ないということもあるというのならわかるが、
そうじゃなくて「それが普通なんだ」と思い込んだ狭い見識での判断なんだろ?
型を書くか auto にするかはスタイルの問題で、どちらを使うかで挙動が切り替わってしまうような設計のライブラリが本当にまともか?
697デフォルトの名無しさん (ワッチョイ 0679-P6+q)
2025/09/27(土) 17:54:13.79ID:iipvXy1W0 よほど悔しかったんか知らんが、恥の上塗りやめたら?
autoをC++に取り込んだ人達は、お前が調子に乗るために提案したわけでも採用したわけでもなかろうよ
autoをC++に取り込んだ人達は、お前が調子に乗るために提案したわけでも採用したわけでもなかろうよ
698デフォルトの名無しさん (アウアウウー Sacf-kv3/)
2025/09/27(土) 19:49:03.02ID:k7oMySGea699はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7f32-BMc3)
2025/09/27(土) 20:00:56.28ID:nSvwU9re0 C++ が設計ミスだらけなのは今更な話だろ。
700580 (ワッチョイ f5a1-hkyQ)
2025/09/28(日) 18:27:48.51ID:MSQtxm6D0 解決しますた!
701はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 2d32-jLB2)
2025/09/28(日) 19:20:47.09ID:pjQge+jC0 そうか。
702デフォルトの名無しさん (ワッチョイ 4366-WwN1)
2025/09/29(月) 19:03:56.70ID:ALxfRd8b0 VSCode(WSL)のclang-tidyで質問です
関数にconst付けるのを警告する「readability-make-member-function-const」って奴ですがDoSave()関数にも警告が出ます
可能ならgetterのみに付けたいのですが皆さんこれはどうされてますか?
無効にしてるか、無視してるか、const付けてるか、その他何かやってますか?
C++の環境構築は初めてなので助言をいただけるとありがたいです
よろしくお願いします
関数にconst付けるのを警告する「readability-make-member-function-const」って奴ですがDoSave()関数にも警告が出ます
可能ならgetterのみに付けたいのですが皆さんこれはどうされてますか?
無効にしてるか、無視してるか、const付けてるか、その他何かやってますか?
C++の環境構築は初めてなので助言をいただけるとありがたいです
よろしくお願いします
703デフォルトの名無しさん (ワッチョイ 2d7c-2Udd)
2025/09/29(月) 19:56:30.29ID:BDszbKFL0 こういうこと?
要はconst性を「セーブさせたくない」という符丁に使いたいのかな
class Hoge; // DoSave()持ち
void foo(Hoge& h1, const Hoge& ch2)
{
h1.DoSave(); //ゆるす
ch2.DoSave(); //ゆるさない
}
そんな変なことやめとけとしか思わないけど、どうしてもそうしたい理由があるなら言ってみ
要はconst性を「セーブさせたくない」という符丁に使いたいのかな
class Hoge; // DoSave()持ち
void foo(Hoge& h1, const Hoge& ch2)
{
h1.DoSave(); //ゆるす
ch2.DoSave(); //ゆるさない
}
そんな変なことやめとけとしか思わないけど、どうしてもそうしたい理由があるなら言ってみ
704デフォルトの名無しさん (ワッチョイ adf0-pGVw)
2025/09/29(月) 20:49:50.37ID:Qgirjd9Z0 const_cast<Hoge*>(&ch2)->DoSave();
705デフォルトの名無しさん (ワッチョイ 4376-Duv+)
2025/09/29(月) 22:22:15.60ID:ALxfRd8b0 >> 703-704
すみませんサンプルを載せるべきでした
ソース:
double Point::X(){return x;}
void Point::X(double value){ x=value;}
ヘッダ:
static Point {
public:
double X();
void X(double value);
private :
double x=0;
};
clang-tidy を実行すると「double Point::X()」のX部分で「Method 'X' can be made const (readability-make-member-function-const)」という警告が出ます
調べてみると「constを追加して、内容が変更されないことを明確にすべき」らしいです
ソース:double Point::X() const {return x;}
ヘッダ:double X() const;
上記だけなら問題無いのですが、下記のような関数にも同じ警告が出てしまいます
ソース:void Sample::DoSave(){ ファイルの保存処理 }
ヘッダ:void DoSave();
この場合、getterではなく処理なので、const は付けるべきでは無いと考えてます
そこで質問ですが、clang-tidy で静的チェックを行う場合「readability-make-member-function-const」の扱いはどうすべきなのか気になった次第です
「無効にすればいいのか」と思いながらも、C#のプロパティではないので、「C++は変更されないことを明示した方が分かりやすいのか?」とどのように設定すべきか悩んでいます
よろしくお願いします
環境は下記:VSCode、ubuntu 22.04 (WSL)、C++ 17、clang-tidy-15
すみませんサンプルを載せるべきでした
ソース:
double Point::X(){return x;}
void Point::X(double value){ x=value;}
ヘッダ:
static Point {
public:
double X();
void X(double value);
private :
double x=0;
};
clang-tidy を実行すると「double Point::X()」のX部分で「Method 'X' can be made const (readability-make-member-function-const)」という警告が出ます
調べてみると「constを追加して、内容が変更されないことを明確にすべき」らしいです
ソース:double Point::X() const {return x;}
ヘッダ:double X() const;
上記だけなら問題無いのですが、下記のような関数にも同じ警告が出てしまいます
ソース:void Sample::DoSave(){ ファイルの保存処理 }
ヘッダ:void DoSave();
この場合、getterではなく処理なので、const は付けるべきでは無いと考えてます
そこで質問ですが、clang-tidy で静的チェックを行う場合「readability-make-member-function-const」の扱いはどうすべきなのか気になった次第です
「無効にすればいいのか」と思いながらも、C#のプロパティではないので、「C++は変更されないことを明示した方が分かりやすいのか?」とどのように設定すべきか悩んでいます
よろしくお願いします
環境は下記:VSCode、ubuntu 22.04 (WSL)、C++ 17、clang-tidy-15
706デフォルトの名無しさん (ワッチョイ 1b39-ZlhK)
2025/09/29(月) 23:01:05.35ID:jk3QzjEU0 NOLINT
707デフォルトの名無しさん
2025/09/29(月) 23:04:57.63ID:rfIMSjI90 >>705
その場合const付けたほうが良い理由は「変更されないことを明示」することより
constのインスタンスに対してその関数を呼べなくなることでは?
↓はエラーか警告(どっちかは忘れた)になると思う(constオブジェクトの非constメンバ関数は呼び出せない)
void SaveData(const Sample sample)
{
sample.DoSave();
}
void Sample::DoSave() const { ファイルの保存処理 }
にしておけば、DoSaveは呼び出せる
その場合const付けたほうが良い理由は「変更されないことを明示」することより
constのインスタンスに対してその関数を呼べなくなることでは?
↓はエラーか警告(どっちかは忘れた)になると思う(constオブジェクトの非constメンバ関数は呼び出せない)
void SaveData(const Sample sample)
{
sample.DoSave();
}
void Sample::DoSave() const { ファイルの保存処理 }
にしておけば、DoSaveは呼び出せる
708デフォルトの名無しさん (ワッチョイ adf0-pGVw)
2025/09/30(火) 01:33:12.30ID:Xmjd+d/v0 処理だからconst付けないんじゃなくて、そのメンバ関数がPointクラスの中身を書き変えないことを保証するためにメンバ関数の後ろにconstは付ける
つまり、Save処理はPointクラスを特段変更するメソッドではないだろ?
だったらconstは付けるべき
つまり、Save処理はPointクラスを特段変更するメソッドではないだろ?
だったらconstは付けるべき
709デフォルトの名無しさん (ワッチョイ 2d7c-2Udd)
2025/09/30(火) 07:07:46.33ID:NaKN2pJV0 >>705
つまり、constを本来の意味(中身を変更するかどうか)ではなく「getterであるかどうか」を示すラベルとして使いたいってことでしょ?
で、何を持って「getterであるかどうか」はあなたの頭の中にしかない定義であって、そのlintはもちろんコンパイラもエディタも世のライブラリも知ったことではない
それらをオレオレconstラベルに適合させるためにどうしたらいいか?というのがあなたの問うていることだ
やっぱりどうしてそんなことがしたいのか全く理解できない
つまり、constを本来の意味(中身を変更するかどうか)ではなく「getterであるかどうか」を示すラベルとして使いたいってことでしょ?
で、何を持って「getterであるかどうか」はあなたの頭の中にしかない定義であって、そのlintはもちろんコンパイラもエディタも世のライブラリも知ったことではない
それらをオレオレconstラベルに適合させるためにどうしたらいいか?というのがあなたの問うていることだ
やっぱりどうしてそんなことがしたいのか全く理解できない
710はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 2d32-jLB2)
2025/09/30(火) 08:58:44.76ID:0fqHawiZ0 >>705
オブジェクトがなんらかのストレージを抽象化したものであると考えたらそのオブジェクトが const であるときはセーブ機能を使えないようにしたいというのはわからんでもない。
実際の管理は他の場所でやっていて窓口に過ぎないならメンバ関数に const を付加可能 (だがそうしたくない) なこともあるだろう。
それが良い設計かどうかは脇に置いてそうすることに決めたときに clang-tidy の警告はどうすればいいのかということなら、
例外的な状況なので例外的なものとして無視してもらうしか仕方ないんじゃないか。
NOLINT コメントを書いておくと clang-tidy はその箇所については警告を抑制してくれるよ。
オブジェクトがなんらかのストレージを抽象化したものであると考えたらそのオブジェクトが const であるときはセーブ機能を使えないようにしたいというのはわからんでもない。
実際の管理は他の場所でやっていて窓口に過ぎないならメンバ関数に const を付加可能 (だがそうしたくない) なこともあるだろう。
それが良い設計かどうかは脇に置いてそうすることに決めたときに clang-tidy の警告はどうすればいいのかということなら、
例外的な状況なので例外的なものとして無視してもらうしか仕方ないんじゃないか。
NOLINT コメントを書いておくと clang-tidy はその箇所については警告を抑制してくれるよ。
711デフォルトの名無しさん (スッップ Sd43-WwN1)
2025/09/30(火) 10:38:19.22ID:Dzyyn8xKd >>706-710
御返事がおそくなりすみません
ご意見ありがとうございます
自分の理解不足と設計思想が間違ってるまたはずれてるんだと理解しました
・「readability-make-member-function-const」の指示にしたがってconstを付けるのが良い
・更に言うと-fixオプションで自動付与するレベルの内容
・だけどNOLINTで無視もできるよ(無視してるとは言ってない)
ってことで理解しました
勉強になりました
ありがとうございます
御返事がおそくなりすみません
ご意見ありがとうございます
自分の理解不足と設計思想が間違ってるまたはずれてるんだと理解しました
・「readability-make-member-function-const」の指示にしたがってconstを付けるのが良い
・更に言うと-fixオプションで自動付与するレベルの内容
・だけどNOLINTで無視もできるよ(無視してるとは言ってない)
ってことで理解しました
勉強になりました
ありがとうございます
712デフォルトの名無しさん (ワッチョイ 2596-TDpG)
2025/09/30(火) 21:38:35.37ID:bXNPhBlr0 VC++20のテンプレート制約で不可思議なことが起きるのだけど、以下の二つは同じ意味だよね?
1だと目的通りTParentに該当static関数<T>があれば適用、なければスルーという挙動になるのだけど、
2だと無くても適用されちゃって他を探しに行かずにオーバーロード未解決に陥るんだけどどういうことだろう?
1
template<typename T, typename TParent> concept HasSizeGetter = requires { (size_t)TParent::template get_size<T>(); };
template<HasSizeGetter<TParent> T> static consteval size_t get_require_space() { return TParent::get_size<T>(); }
2
template<typename T> requires requires { (size_t)TParent::template get_size<T>(); } static consteval size_t get_size() { return TParent::get_size<T>(); }
1だと目的通りTParentに該当static関数<T>があれば適用、なければスルーという挙動になるのだけど、
2だと無くても適用されちゃって他を探しに行かずにオーバーロード未解決に陥るんだけどどういうことだろう?
1
template<typename T, typename TParent> concept HasSizeGetter = requires { (size_t)TParent::template get_size<T>(); };
template<HasSizeGetter<TParent> T> static consteval size_t get_require_space() { return TParent::get_size<T>(); }
2
template<typename T> requires requires { (size_t)TParent::template get_size<T>(); } static consteval size_t get_size() { return TParent::get_size<T>(); }
713デフォルトの名無しさん (ワッチョイ 2596-TDpG)
2025/09/30(火) 21:40:50.61ID:bXNPhBlr0 ちょっと書き間違えてたけど1はget_require_spaceじゃなくてちゃんと2と同じくget_sizeね
714はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 2d32-jLB2)
2025/09/30(火) 23:39:48.15ID:0fqHawiZ0 >>712
オーバーロード未解決という形で現れるのはよくわからないけど
この場合はその関数テンプレートを使わなくても (呼び出さなくても) エラーになるのが正しい挙動だと思う。
get_size は依存名ではないのでテンプレートの定義時 (テンプレート実引数を当てはめる前) に名前のルックアップが試みられて失敗する。
requires 節はテンプレート引数の妥当性を検証する仕組みなのでテンプレート引数をあてはめなくても式が不成立になるようなのはエラー。
というのが私の理解なんだけどあんまり自信はない……。
オーバーロード未解決という形で現れるのはよくわからないけど
この場合はその関数テンプレートを使わなくても (呼び出さなくても) エラーになるのが正しい挙動だと思う。
get_size は依存名ではないのでテンプレートの定義時 (テンプレート実引数を当てはめる前) に名前のルックアップが試みられて失敗する。
requires 節はテンプレート引数の妥当性を検証する仕組みなのでテンプレート引数をあてはめなくても式が不成立になるようなのはエラー。
というのが私の理解なんだけどあんまり自信はない……。
715はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 2d32-jLB2)
2025/09/30(火) 23:47:38.26ID:0fqHawiZ0 >>714
これは TParent::get_size が存在しない場合の話で、
TParent::get_size が存在するけど TParent::get_size<T> の展開に失敗する場合はちゃんと次の候補が選ばれるはず。
(手元に MSVC がないんだけどオンラインコンパイラで一応の動作確認はした。)
これは TParent::get_size が存在しない場合の話で、
TParent::get_size が存在するけど TParent::get_size<T> の展開に失敗する場合はちゃんと次の候補が選ばれるはず。
(手元に MSVC がないんだけどオンラインコンパイラで一応の動作確認はした。)
716デフォルトの名無しさん (ワッチョイ 2596-TDpG)
2025/10/01(水) 06:54:56.10ID:O1Ml42XO0 >>715
そう、2の場合でもTParent::get_sizeはあるけど<T>とはマッチしない場合にはちゃんと1と同じ挙動になるんだよね
TParentにstaticなget_sizeが全くない場合だと1と2で挙動が変わってしまう
でも2って1をインラインに直接書いたものであって同じ意味だよね?
だからrequiresがどういう意味を持つかとか以前に挙動変わってくる時点で不可思議なんだよね
そう、2の場合でもTParent::get_sizeはあるけど<T>とはマッチしない場合にはちゃんと1と同じ挙動になるんだよね
TParentにstaticなget_sizeが全くない場合だと1と2で挙動が変わってしまう
でも2って1をインラインに直接書いたものであって同じ意味だよね?
だからrequiresがどういう意味を持つかとか以前に挙動変わってくる時点で不可思議なんだよね
717はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 2d32-I4u/)
2025/10/01(水) 07:43:33.30ID:XKqCU3PC0718デフォルトの名無しさん (ワッチョイ faa6-/eJP)
2025/10/22(水) 12:58:32.68ID:6nuMV8zc0 C++26から入るらしい^^と[::]という二つの演算子はどういう用途に使うものなのでしょうか?
719はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 4132-ctWl)
2025/10/22(水) 13:31:13.53ID:/iXiQCcE0720デフォルトの名無しさん (アウアウウー Sa09-u8G0)
2025/10/22(水) 19:35:11.69ID:t2Chdy11a ^^
↑ちょっと顔にみえる
↑ちょっと顔にみえる
721デフォルトの名無しさん (ワッチョイ aa71-zeRK)
2025/10/22(水) 21:43:50.71ID:q+0a8lK20 ^^;
722デフォルトの名無しさん (アウアウウー Sa09-HZvd)
2025/10/22(水) 21:55:39.76ID:tW3LNod+a ^^;ゞ
723デフォルトの名無しさん (ワッチョイ 417c-ib/k)
2025/10/22(水) 22:05:42.67ID:b6F/3uj70 ^^::←グローバル名前空間のリフレクション値
724デフォルトの名無しさん (ワッチョイ d6d6-9FkA)
2025/10/23(木) 05:29:13.93ID:HOQCmR4+0 v^^
725デフォルトの名無しさん (ワッチョイ c1ef-6mJJ)
2025/10/23(木) 21:41:47.99ID:FPW1mHao0 山崎渉
726デフォルトの名無しさん (アウアウウー Sa09-6N1s)
2025/10/24(金) 14:17:57.63ID:nAYKU6CIa GGは
へへ
ミミ
へへ
ミミ
727デフォルトの名無しさん (JP 0Hab-oW0m)
2025/10/29(水) 17:48:11.20ID:KY7jGttbH Y(^_^)Y なんすかこれ
口が違う。覚えてる人修正して
口が違う。覚えてる人修正して
728デフォルトの名無しさん (アウアウウー Sae3-N4yN)
2025/11/11(火) 14:16:42.56ID:crDtfQHZa バルタン星人のひと元気かな
729デフォルトの名無しさん (ブーイモ MM9f-lDbn)
2025/11/13(木) 14:20:45.09ID:jo2+4JNJM 多分基本的な質問ですまんけど、参照型のメンバー持ったクラスをmove対応させるのってどうやんのが定石?
ポインタにするしかない?
ポインタにするしかない?
730はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 9f32-jcp5)
2025/11/13(木) 14:53:55.31ID:bJCWdXAy0 >>729
その参照が差す先のオブジェクトの所有権 (最終的に後始末する責任) を持っている状況ということ?
ポインタを交換する手法がよく使われるのはヌルで無効を表現してるだけなので所有権を持ってるかどうかわかるフラグを立てれるならなんでもいいよ。
型システム的に表現するなら optional と reference_wrapper を組み合わせるのがよいかな。(optional は参照を直接には保持できない。)
その参照が差す先のオブジェクトの所有権 (最終的に後始末する責任) を持っている状況ということ?
ポインタを交換する手法がよく使われるのはヌルで無効を表現してるだけなので所有権を持ってるかどうかわかるフラグを立てれるならなんでもいいよ。
型システム的に表現するなら optional と reference_wrapper を組み合わせるのがよいかな。(optional は参照を直接には保持できない。)
731デフォルトの名無しさん (ワッチョイ ffd6-UeF3)
2025/11/13(木) 22:00:10.45ID:oKSfQs8Q0 いきなりわからんorz
732デフォルトの名無しさん (ブーイモ MMd3-lDbn)
2025/11/13(木) 22:38:55.22ID:PBCTneT3M >>730
なるほどサンキュー
でもoptionは省きたいところ
moveしたあとは使わない前提でこれはUBになる?
class A {
std::reference_wrapper<const std::string> m_s;
public:
A(const std::string& s) : m_s(s) {}
A(A&& rhs) : m_s(std::exchange(rhs.m_s, *(const std::string*)nullptr)) { }
};
なるほどサンキュー
でもoptionは省きたいところ
moveしたあとは使わない前提でこれはUBになる?
class A {
std::reference_wrapper<const std::string> m_s;
public:
A(const std::string& s) : m_s(s) {}
A(A&& rhs) : m_s(std::exchange(rhs.m_s, *(const std::string*)nullptr)) { }
};
733デフォルトの名無しさん (ワッチョイ 9f7c-18cq)
2025/11/13(木) 22:48:43.43ID:qvmNyT2p0 ・T*(ナマポ)にする
Pros: 一番素直、ムーブ後状態をぬるぽで自然に表現できる。
Cons: メンバ使ってるとこで*付けたり.を->に書き換えたりが必要。deleteとか加減算とか好き勝手できちゃう。今どきナマポとかダサい。
・std::unique_ptr<T>やstd::shared_ptr<T>にする
Cons: 多分セマンティクス違う(もともとはヨソのオブジェクト覗いてるだけでしょ?)
・std::referrence_wrapper<T>にする
Pros: 参照の置き換えという意味でこれも素直。
Cons: メンバ使ってるとこに.get()をつける書き換えが必要。ムーブがコピーになるので抜け殻に参照が残って潔癖な人だとキショい。
・std::optional<std::referrence_wrapper<T>>にする
Pros: 型的に一番真面目なので型マニアにっこり。
Cons: 書くのめんどい。「何これ?」って聞かれたときに説明めんどい(未来の自分含む)。.get()必要。
・メンバはT&のままにしてムーブコンストラクタとムーブop=の方で対応する
Pros: 既に使われてる所の書き換え不要。
Cons: ムーブ関数書くのとメンテし続けるのがめんどい。抜け殻に参照先残る。
どれも完璧じゃないから好きなの選んでいいよ
Pros: 一番素直、ムーブ後状態をぬるぽで自然に表現できる。
Cons: メンバ使ってるとこで*付けたり.を->に書き換えたりが必要。deleteとか加減算とか好き勝手できちゃう。今どきナマポとかダサい。
・std::unique_ptr<T>やstd::shared_ptr<T>にする
Cons: 多分セマンティクス違う(もともとはヨソのオブジェクト覗いてるだけでしょ?)
・std::referrence_wrapper<T>にする
Pros: 参照の置き換えという意味でこれも素直。
Cons: メンバ使ってるとこに.get()をつける書き換えが必要。ムーブがコピーになるので抜け殻に参照が残って潔癖な人だとキショい。
・std::optional<std::referrence_wrapper<T>>にする
Pros: 型的に一番真面目なので型マニアにっこり。
Cons: 書くのめんどい。「何これ?」って聞かれたときに説明めんどい(未来の自分含む)。.get()必要。
・メンバはT&のままにしてムーブコンストラクタとムーブop=の方で対応する
Pros: 既に使われてる所の書き換え不要。
Cons: ムーブ関数書くのとメンテし続けるのがめんどい。抜け殻に参照先残る。
どれも完璧じゃないから好きなの選んでいいよ
734デフォルトの名無しさん (ワッチョイ 1f01-/Hnv)
2025/11/13(木) 23:01:27.30ID:/tchf03X0 unique_ptrと同様のもの(unique_ref)を作ればいいんじゃねえのって話だろ
ただしptrはnullptrで無効を表現してるから
代わりにフラグを用意する
class unique_ref{
T& ref;//参照
bool isValid;//無効判定
//コンストラクタ
unique_ref(T&r):ref(r), isValid(true){}
//ムーブ コンストラクタ
unique_ref(unique_ref&& a){move(a);}
//ムーブ代入
unique_ref& operator=(unique_ref&& a){move(a);}
move(unique_ref&&a){if(this!=&a && a.isValid) ref=a.ref; a.isValid=false;}
}
てなかんじかと
知らんけど
ただしptrはnullptrで無効を表現してるから
代わりにフラグを用意する
class unique_ref{
T& ref;//参照
bool isValid;//無効判定
//コンストラクタ
unique_ref(T&r):ref(r), isValid(true){}
//ムーブ コンストラクタ
unique_ref(unique_ref&& a){move(a);}
//ムーブ代入
unique_ref& operator=(unique_ref&& a){move(a);}
move(unique_ref&&a){if(this!=&a && a.isValid) ref=a.ref; a.isValid=false;}
}
てなかんじかと
知らんけど
735デフォルトの名無しさん (ワッチョイ 1fa6-0yYo)
2025/11/13(木) 23:06:32.01ID:pKRh1I850 参照なんて引数と演算子オーバーロード以外で使ってもいいこと無くね?
736デフォルトの名無しさん (ワッチョイ 9f7c-18cq)
2025/11/13(木) 23:07:03.58ID:qvmNyT2p0 そもそも所有権自分で保持してるメンバがもともとT&ってことはないだろ
どっか遠くのオブジェクトを見えるようにしてるだけでしょ?
(それはそれで設計的に焦げ臭いけど置いとく)
どっか遠くのオブジェクトを見えるようにしてるだけでしょ?
(それはそれで設計的に焦げ臭いけど置いとく)
737デフォルトの名無しさん (ワッチョイ 1f01-/Hnv)
2025/11/13(木) 23:07:46.30ID:/tchf03X0 もしくはunique_ptrをunique_refでラップしてしまうのが楽か
738デフォルトの名無しさん (ワッチョイ 1f01-/Hnv)
2025/11/13(木) 23:10:58.33ID:/tchf03X0739デフォルトの名無しさん (ワッチョイ 9f7c-18cq)
2025/11/13(木) 23:14:39.55ID:qvmNyT2p0740はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 9f32-jcp5)
2025/11/13(木) 23:20:38.76ID:bJCWdXAy0 >>732
UB になる。
ポインタと違って参照自体は無効を表現できないのが C++ の基本ルールであり、 reference_wrapper でもそれは同じ。
それでもあえてやるなら適当にダミーのオブジェクトを作っておいてそれを参照していたら無効ということにするというようなことをできなくはないが……それはそれでちょっと不恰好だよね。
UB になる。
ポインタと違って参照自体は無効を表現できないのが C++ の基本ルールであり、 reference_wrapper でもそれは同じ。
それでもあえてやるなら適当にダミーのオブジェクトを作っておいてそれを参照していたら無効ということにするというようなことをできなくはないが……それはそれでちょっと不恰好だよね。
741デフォルトの名無しさん (ワッチョイ 1f01-/Hnv)
2025/11/13(木) 23:22:41.52ID:/tchf03X0742デフォルトの名無しさん (ワッチョイ 9f7c-18cq)
2025/11/13(木) 23:30:06.73ID:qvmNyT2p0 >>741
ハンドルは外部で持ったままで、その関数内クラスにはハンドルの参照を渡す(関数内クラスの参照メンバを外部のハンドルで初期化する)って言ってる?それ委譲とは言わないよ
委譲したからにはそのリソースはその関数内クラスの消滅とともに消えないといけないけど、そうなったら外部で持ってたハンドルの実体はどうなるの?
どんなケースを想定してるのか全然わかんない
ハンドルは外部で持ったままで、その関数内クラスにはハンドルの参照を渡す(関数内クラスの参照メンバを外部のハンドルで初期化する)って言ってる?それ委譲とは言わないよ
委譲したからにはそのリソースはその関数内クラスの消滅とともに消えないといけないけど、そうなったら外部で持ってたハンドルの実体はどうなるの?
どんなケースを想定してるのか全然わかんない
743デフォルトの名無しさん (ブーイモ MM0f-lDbn)
2025/11/14(金) 12:19:28.56ID:YW3kWFexM >>740
までもnull objectはよく使ってるからそれにするわ
個人的にはすっきり
でもc++の参照っていらん子やん?って気がしてならない
class A {
static constexpr std::string s_empty_str{""};
std::reference_wrapper<const std::string> m_s;
public:
A(const std::string& s) : m_s(s) {}
A(A&& rhs) : m_s(std::exchange(rhs.m_s, s_empty_str)) { }
};
までもnull objectはよく使ってるからそれにするわ
個人的にはすっきり
でもc++の参照っていらん子やん?って気がしてならない
class A {
static constexpr std::string s_empty_str{""};
std::reference_wrapper<const std::string> m_s;
public:
A(const std::string& s) : m_s(s) {}
A(A&& rhs) : m_s(std::exchange(rhs.m_s, s_empty_str)) { }
};
744デフォルトの名無しさん (ワッチョイ ff36-TpjX)
2025/11/14(金) 17:06:33.25ID:sw2A38eb0 >>743
型無しのnullpointerが型システム(機能保証)を破壊しているから、型を強要する参照は必要。
型無しのnullpointerが型システム(機能保証)を破壊しているから、型を強要する参照は必要。
745デフォルトの名無しさん (ブーイモ MM0f-lDbn)
2025/11/14(金) 17:48:56.23ID:d/VpWy+aM746はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 9f32-jcp5)
2025/11/14(金) 19:18:46.50ID:YeCIJNF30 >>743
参照は色々な場面で有用ではあるが、 D&E によれば最初の動機は演算子オーバーロードだと書かれている。
オブジェクトをコピーする必要がない (値をコピーせずに場所を渡せば充分) ような状況で参照がなくポインタを使うならいちいち &a+&b みたいにして書く必要が生じる。
いかにも煩わしいだろう。
参照は色々な場面で有用ではあるが、 D&E によれば最初の動機は演算子オーバーロードだと書かれている。
オブジェクトをコピーする必要がない (値をコピーせずに場所を渡せば充分) ような状況で参照がなくポインタを使うならいちいち &a+&b みたいにして書く必要が生じる。
いかにも煩わしいだろう。
747デフォルトの名無しさん (ワッチョイ 1fa6-0yYo)
2025/11/14(金) 19:55:59.90ID:p/1JbX4j0 C++より古いの新しいの含めて多くの言語が採用してるように参照は引数でのみ使用可能で良かったと思うよ
748デフォルトの名無しさん (ワッチョイ 9fda-V2U1)
2025/11/14(金) 20:35:30.63ID:/xnnTPah0749デフォルトの名無しさん (ワッチョイ 1f42-q6Sd)
2025/11/15(土) 10:22:10.37ID:ncudN0/g0 747は、(実際の仕様はそうなっていないけど)引数でのみ使用可能なら良かったのに……という意味だと思うぞ。
750デフォルトの名無しさん (ワッチョイ 9fda-V2U1)
2025/11/15(土) 19:11:12.30ID:lfrbAWbT0 ああ
>使用可能で良かったと思うよ
ではなく、
>使用可能だったら良かったのにと思うよ
って事ですか
>使用可能で良かったと思うよ
ではなく、
>使用可能だったら良かったのにと思うよ
って事ですか
751デフォルトの名無しさん (ワッチョイ ffa1-lDbn)
2025/11/15(土) 19:25:57.81ID:3JdS/6Ib0 カスみたいな読解力
752デフォルトの名無しさん (オッペケ Srf3-rRus)
2025/11/15(土) 19:35:13.09ID:QqRirP4Fr そんなコミュ力高かったら、石が友達なんて言わない
753デフォルトの名無しさん (ワッチョイ 1f42-q6Sd)
2025/11/15(土) 19:39:44.33ID:ncudN0/g0 分かりやすいように749みたいに書いたけど、747で普通に意味が通じるので、「ではなく」というとちょっと違う気がするかな。言葉って難しい。
754デフォルトの名無しさん (ワッチョイ 4d7c-2tyn)
2025/11/16(日) 01:00:07.67ID:oagsDxeg0 こういう人が仕様書読んで実装すると思うとこわい
755デフォルトの名無しさん (アウアウウー Sa85-H7iN)
2025/11/16(日) 13:18:16.47ID:0LN83zrSa756デフォルトの名無しさん (ワッチョイ 7901-djhR)
2025/11/16(日) 13:32:50.84ID:Xh/GBEYv0 C++ばっかりやっとるからだよ
日本語を使え
日本語を使え
757デフォルトの名無しさん (ワッチョイ 0dda-43h0)
2025/11/16(日) 16:38:31.73ID:r6khXsKc0758デフォルトの名無しさん (ワッチョイ 22f2-43h0)
2025/11/16(日) 16:49:19.65ID:D8AV/AUw0 あんたは機能的非識字なんでしょ
歳とか関係ないって
歳とか関係ないって
759デフォルトの名無しさん (ワッチョイ 91df-iLwu)
2025/11/16(日) 18:20:15.84ID:fnmgx6dT0 747は、日本語の文法としておかしなところは別にないけれども、748のような読み方も許すという点で多義的な文にはなっているかな。
「C++より〜ように」という前半の文脈があるので748のような受け取り方はしない方が普通だと思うが、文法的には748のような読み方も一応可能だろう。
「使用可能(ということ)で良かった」としたら、完全に一義的になっているとまでは言えないまでも、多少ニュアンスは明確になっているかな。そうでもないか。
「C++より〜ように」という前半の文脈があるので748のような受け取り方はしない方が普通だと思うが、文法的には748のような読み方も一応可能だろう。
「使用可能(ということ)で良かった」としたら、完全に一義的になっているとまでは言えないまでも、多少ニュアンスは明確になっているかな。そうでもないか。
760デフォルトの名無しさん (ワッチョイ 11da-ZOUt)
2025/11/16(日) 19:06:28.66ID:B8gkzotY0 >>757
文字なんでニュアンスが伝わりづらいだけだよ
「この前の件だけど、両方出来るようになったよ」
「他と同じように片方のみで良かったと思うよ」
まあ誤解を与えない書き方とすると
「他と同じように片方のみで良かったのにと思うよ」
って感じで「のに」をいれた方が残念がっている様子が伝わってくるよね
文字なんでニュアンスが伝わりづらいだけだよ
「この前の件だけど、両方出来るようになったよ」
「他と同じように片方のみで良かったと思うよ」
まあ誤解を与えない書き方とすると
「他と同じように片方のみで良かったのにと思うよ」
って感じで「のに」をいれた方が残念がっている様子が伝わってくるよね
761デフォルトの名無しさん (ワッチョイ e9f6-iLwu)
2025/11/17(月) 09:06:44.31ID:g7E0m0EQ0 C++はよく分からないので、cpprefjpにはいつもお世話になっているんだけど、生文字列リテラルのところにある「改行が入力された場合、改行の制御文字 '\n' に変換される」というのは説明として正確なのかな。
raw文字列リテラルのところの規格にはそれっぽいことは書いていないように思うし、改行文字は通常の文字としてそのままraw文字列リテラルに含められるだけであって、別に「変換」とかはされていないんじゃないかと思うんだけど。
raw文字列リテラルのところの規格にはそれっぽいことは書いていないように思うし、改行文字は通常の文字としてそのままraw文字列リテラルに含められるだけであって、別に「変換」とかはされていないんじゃないかと思うんだけど。
762はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 4d32-o1Ob)
2025/11/17(月) 10:18:46.23ID:DdlSQj440 >>761
'\n' に変換するという説明は誤りだと私も思う。
規格内の例中では \n と同等というような説明はあるのでこれを変換と誤解したのかも?
https://timsong-cpp.github.io/cppwp/n4950/lex.string#5
'\n' に変換するという説明は誤りだと私も思う。
規格内の例中では \n と同等というような説明はあるのでこれを変換と誤解したのかも?
https://timsong-cpp.github.io/cppwp/n4950/lex.string#5
763はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 4d32-o1Ob)
2025/11/17(月) 10:27:40.74ID:DdlSQj440 余談だけど生文字列リテラルの扱いにはちょっと変な特別扱いがある。
C++ では処理の初期段階で行を連結 (改行を削除) してしまうことになっていて、その時点では各改行が生文字列リテラルの中なのかどうか認識してない。
https://timsong-cpp.github.io/cppwp/n4950/lex#phases-1.2
後でトークンを分割するときになって生文字列リテラルを認識したらその範囲では連結を「取り消す」という処理が入る。
https://timsong-cpp.github.io/cppwp/n4950/lex#pptoken-3.1
結果としては改行はそのまま含まれるだけなんだけど、理屈としては色々な操作 (変換?) はされてる。
ただ、これは C++ の言語の解釈の話であって処理系の実装方法ではない。
つまり結果が同じであれば実装方法は問わないので連結してから取り消すのではなく連結の例外にしてもかまわないし、
生文字列リテラルを普通の文字列リテラルに変換するような手法もあるのかもしれない。
C++ では処理の初期段階で行を連結 (改行を削除) してしまうことになっていて、その時点では各改行が生文字列リテラルの中なのかどうか認識してない。
https://timsong-cpp.github.io/cppwp/n4950/lex#phases-1.2
後でトークンを分割するときになって生文字列リテラルを認識したらその範囲では連結を「取り消す」という処理が入る。
https://timsong-cpp.github.io/cppwp/n4950/lex#pptoken-3.1
結果としては改行はそのまま含まれるだけなんだけど、理屈としては色々な操作 (変換?) はされてる。
ただ、これは C++ の言語の解釈の話であって処理系の実装方法ではない。
つまり結果が同じであれば実装方法は問わないので連結してから取り消すのではなく連結の例外にしてもかまわないし、
生文字列リテラルを普通の文字列リテラルに変換するような手法もあるのかもしれない。
764デフォルトの名無しさん (ワッチョイ e9a6-Bso2)
2025/11/17(月) 20:16:57.16ID:3c799E+W0765デフォルトの名無しさん (ワッチョイ 6e10-iLwu)
2025/11/18(火) 02:43:23.41ID:oTdu6LNz0レスを投稿する
ニュース
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 中国で「クレしん」公開延期 対日報復、エンタメに波及 [蚤の市★]
- 経団連会長、日中は建設的対話を 経済3団体が高市首相と初会談も日中関係は話題に登らず… [BFU★]
- 【映画】『クレヨンしんちゃん』 中国で公開延期 対日報復、エンタメに波及 [冬月記者★]
- 日経時間外、5万円割れ 垂直落下始まる [402859164]
- 有識者「高市総理が発言を撤回したり、辞職するしかないと言っている人は、それで日中関係が今まで通りになると思ってる?」 [834922174]
- ウッドデッキで調子こいてたやついたじゃん
- 🦉エッホエッホ アンパンマンは猫舌って伝えなきゃ
- えんやすー
- 中国人「昔の仇を取る」「高市は狂ってる。制裁すればいい」「高市はことの重大さを認識してない」 [931948549]
