[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 03/05 17:41 / Filesize : 300 KB / Number-of Response : 1027
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++相談室 part157



1 名前:デフォルトの名無しさん mailto:sage [2021/08/09(月) 10:57:31.60 ID:JaaB5Egp.net]
前スレ
C++相談室 part156
https://mevius.5ch.net/test/read.cgi/tech/1621389313/

255 名前:ハノン mailto:sage [2021/09/05(日) 18:06:53.16 .net]
>>243
誰が書いたかなどどうでもよく、その内容についてはどう思いますか?

256 名前:はちみつ餃子 mailto:sage [2021/09/05(日) 18:10:26.36 ID:vh6AiUnJ.net]
>>244
関数テンプレートが結果的に引数の数が違う関数として展開される。
引数の数の違いが結果の違い。

257 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 18:23:29.28 ID:cBh+EO/A.net]
>static std::shared_ptr<T> O = std::make_shared<T>(A...);
の部分って、Singleton()の初回呼び出しが複数のスレッドから同時に起こってもき
ちんと排他してくれるんでした
っけ

また排他してくれるとしても最速(そのアーキテクチャ(マルチコアかもしれない)で最も適切)
であることを気体していいんでしたっけ……
つまり生成に成功した後は排他不要なわけで、無駄にロックを取りに行きたくない……

258 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 18:24:18.83 ID:yIsM5ONG.net]
>>242
おまえホント頭悪いな

259 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 18:27:31.03 ID:cBh+EO/A.net]
みたいな配慮がシングルトンにしたとたんに必要になる
メインの処理が始まる前に普通の初期化関数呼び出しでOを生成したらそれで済むのに、、、

260 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 18:28:54.12 ID:0Cj96kG7.net]
>>247
呼ばれたところで最後の奴が勝てば問題ないのでは

261 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 18:47:53.68 ID:cBh+EO/A.net]
>>250
ある
>static std::shared_ptr<T> O = std::make_shared<T>(A...);
全体が排他されないとしたら、Oの生成関数(初期化式「O=」の右辺)が複数回、
それも同期的に繰り返し呼ばれるのではなく、非同期的に再入される形で呼ばれかねない
生成関数の中でリソース確保するとしたら先の呼び出しで確保したリソースの
ハンドルがdunglingにならないように配慮が必要になる
非同期的再入ということは、Oが生成→破棄→生成→破棄、にならず、
生成→生成→破棄→破棄になりかねないから、デストラクタをちゃんと書いたらリークしないとか
そういう認識で当たったらバグる
問題山積や

メインの処理が始まる前に普通の初期化関数呼び出しでOを生成したらそれで済むのに、、、

262 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 18:50:05.34 ID:nyuo1Vq1.net]
>>245
お前の質問なんかどうでもいいからデマを貼るな

263 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 19:08:04.86 ID:UYU4AxET.net]
>>247 https://timsong-cpp.github.io/cppwp/n4861/stmt.dcl#4



264 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 19:10:36.36 ID:2jP3+tuQ.net]
>>246を踏まえるとこんな感じか
関数テンプレートだけで済ます方法はあるのかな?

https://ideone.com/kmIimz

265 名前:ハノン mailto:sage [2021/09/05(日) 21:38:19.52 .net]
>>248
はい、頭も性格も悪いと思います、しかし >>242 の中のどういうところが悪いとお考えになったのか教えていただくと嬉しいです!!

266 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 22:21:15.62 ID:TAzC3d8r.net]
>>255
そもそも、C++の生みの親で、それに関する書籍を出してその中でC++を
良い言語と自負して(それ以上の言語が出来ないというような主張も幾度もして)
解説し、まだ推進しようとしている人が、C++を徹底的に卑下するかどうかを
疑問に思ってないことも頭が悪いと思われる原因の一つ。

267 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 22:29:24.50 ID:15q7gB85.net]
実際、C++は、特に初期の頃はCより全面的に優れていると誰でも思えるような
物であって、ちゃんと世界的に認められて広まっていたのに、その部分まで
全否定するようなことをインタビューで答えるわけがない。
その後に追加されて機能は人により評価が分かれて全面的に優れているとは
思えるようなものではなくなっていた。
だから、C++11は、好きな人も居れば嫌いな人も居る。C++98より全面的に
優れていると言えるかどうかは人により評価が分かれるので、好みにより
文壇の様なものが生じている。

268 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 22:30:49.67 ID:cBh+EO/A.net]
>>254
ひ、日本語でおk、、、

>If control enters the declaration concurrently while the variable is being initialized, the concurrent execution shall wait for completion of the initialization.85
>If control re-enters the declaration recursively while the variable is being initialized, the behavior is undefined.
はどう読めばいいの?
結局concurrentlyにre-enterされるときはbehavior is undefinedとしか読めなさげ

>>254
以上の状況なので>>244の糞コードは直しても仕方が無い

269 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 22:36:38.84 ID:66hkUr5p.net]
メモリを自動解放するfinally機能さえあればCでも大丈夫とは思う

270 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 22:50:33.49 ID:yIsM5ONG.net]
https://imgur.com/aX1iNMp.jpg

271 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 22:52:01.95 ID:cBh+EO/A.net]
とオモタがcontrol enters the declaration concurrently のときは初期化のcompletionまでshall waitで、
ただしrecursivelyだとイカン(未定義動作)と書いてあるのか……
つまりSingleton()関数内の初期化式「O=」の右辺がSingleton()を呼び出す場合か

まあ確かにWindousみたいに特殊な仕様のクリティカルセクションでもない限りデッドロックしそう

272 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 23:09:38.17 ID:eTOvJaZ9.net]
>>251
そうか
まあ仕様的にはスレッドセーフだわ
関係ないけど参照したグローバル変数に値が入っとらんで困ったことがあった

273 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 00:30:26.82 ID:62gS+LUW.net]
>>258
なんかスレッド安全性の問題にしたいようだけど、
そもそも>>244の第一の問題点は2番目のSingletonの呼び出しだけ別のオブジェクトを指してしまっている点だよ
stdoutの2行目だけ0になってるだろ?
その原因の説明が>>246というわけだ

すべての関数・クラスを最初からスレッドセーフな設計にしないといけないわけじゃない



274 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 04:31:29.75 ID:HRRCwLhx.net]
>>263
>>258じゃないし、よく分からないけど
https://ideone.com/69FQhL
ではダメなの?

275 名前:デフォルトの名無しさん [2021/09/06(月) 04:31:59.38 ID:G2BRvA3h.net]
ビャーネ・ストロヴストルップその人のインタビューだとは私も考えてませんよ、これはブラックジョークというべきでしょう、まあC++er が気を悪くする理由は理解できますが
それに私も GNU Multi-Precision Library を使うときはC++のラッパの方を使います。C インターフェースの方は使い難くって使い難くって、これはもう罰ゲームですね‥‥
だから演算子のオーバーロードも控えめに使えば有用という立場です、紹介することと賛成することとは別だと思います
https://mevius.5ch.net/test/read.cgi/tech/1434079972/84

276 名前:ハノン mailto:sage [2021/09/06(月) 04:40:03.34 .net]
テステス

277 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 07:17:56.24 ID:7SReNX2q.net]
>>263
スレッドセーフでなくともよいシングルトンとか
>メインの処理が始まる前に普通の初期化関数呼び出しでOを生成したらそれで済むのに、、、
で良くね?

>>264
>>263じゃないが非アトミックな操作(初回か否かチェックして初回なら初期化する)
であることが明示される分その書き方の方がマシ
必要なら排他する、不要ならしないという判断ができるから
>すべての関数・クラスを最初からスレッドセーフな設計にしないといけないわけじゃない (>>263
という願いも叶うYO!

278 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 08:08:09.17 ID:62gS+LUW.net]
>>264
確かに普通こんな感じだな
テンプレート別々にすることだけで頭止まってた

>>267
そうだな
書いてはみたがC++でシングルトン使う意味は無いと思う
あれはグローバル変数の無いJavaでグローバル変数を使うためのハックだとか聞いたし
じゃあもう普通にグローバル変数使えばよくね、と

279 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 08:45:11.58 ID:3/UK3SOv.net]
グローバル変数と同じなのでだめだよな
普通に動的に用意して渡せばよろしい

280 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 08:48:23.63 ID:HRRCwLhx.net]
ログとかアプリの現行設定ファイルとかはSingletonっぽく実装するけどなぁ・・・
インスタンス生成が遅いものはただのグローバルにしたら起動が遅くなるし

281 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 09:20:13.64 ID:FistWoaj.net]
>>268
最初のデザパタ本であるGOF本はc++とsmalltalkで書かれてるんで、javaは関係ないよ

282 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 10:32:20.65 ID:d5h9Y6Qi.net]
シングルトンはスレッドセーフが実現できれば問題ないでしょ

283 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 12:01:04.36 ID:KKMECnvR.net]
>>255 >>265
これは「権威に訴える論証」を悪用した主張であり、議論の対象としてはいけない類のもの。
もし真面目に議論したいのなら、少なくともStroustrupの名前は消して内容だけに修正しなくてはならない。

本人も否定しているのに訂正もしないようなフェイク記事は邪悪。それに対してコメントを求めるのは正気を疑う。



284 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 12:06:51.69 ID:86SPG0/G.net]
その昔、こんなクラス作ってたな
class WinMainArguments
{
public:
static HINSTANCE hInstance;
static HINSTANCE hPrevious;
static LPSTR lpszCmdLine;
static int nCmdShow;
};

285 名前:デフォルトの名無しさん [2021/09/06(月) 15:04:51.66 ID:DsY+3+kX.net]
>>265
ブラックジョークは大半の人が聴いた瞬間にジョークだと判るから成立する
麦藁禿のあの名文はまさにそれ

だまされてるのは事情を知らない若い人かも知れんな

286 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 15:52:40.84 ID:86SPG0/G.net]
>>265
GMPについて同意見

287 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 16:43:26.89 ID:akmYwjNo.net]
>>274
ネームスペースつかえよバカww

288 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 16:51:37.50 ID:5nha9zO6.net]
>>277
初期のc++には名前空間が無くてなぁ。
標準化する前だから良く知らんが。

289 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 17:50:02.90 ID:xrgLRigr.net]
その初期のC++ってもしかしてEC++とかいうパチモンじゃないですかね

290 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 17:51:19.11 ID:ugWeBDlD.net]
今更バイエルの運指について議論してるような雑魚に構うなよ
C++もピアノも、憧れだけあって実力がまるでないバカ

291 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 20:33:14.67 ID:d5h9Y6Qi.net]
日本語版(0xCC=フ)によりフフフフフ…で埋められたWin32アプリデバッグメモリを思い出した人、どのくらいいるかな



「フフフ…」4歳娘が撮影した花火に家族で爆笑! 見ると笑顔になる“奇跡の1枚”の状況を父親に聞いた | FNNプライムオンライン
https://www.fnn.jp/articles/-/224754

292 名前:はちみつ餃子 mailto:sage [2021/09/06(月) 23:42:11.67 ID:buVCF6sT.net]
>>278-279
D&E によればネームスペースは 1991 年に ANSI/ISO の委員会において浮上したトピックであるとのことだ。
逆に言えばそれ以前には無かった。
Windows 3.1 の頃に C++ でプログラミングしていたなら >>274 のようなコードが有ったとしても不自然とは言い切れない。

293 名前:デフォルトの名無しさん mailto:sage [2021/09/07(火) 02:14:57.06 ID:b2odouMM.net]
今でもchar_traitsみたいのあるね



294 名前:デフォルトの名無しさん mailto:sage [2021/09/07(火) 02:29:38.39 ID:fAleIY7G.net]
なあに名前空間的な修飾を省略させたくない時に役立つ

295 名前:デフォルトの名無しさん mailto:sage [2021/09/07(火) 03:15:39.97 ID:5ki66s4L.net]
>>259
cに付け加えるならgoのdefer文かなと思う。

296 名前:デフォルトの名無しさん mailto:sage [2021/09/07(火) 11:04:53.08 ID:1Eqd+3ka.net]
C

297 名前:...Cにだってtry~catch~finallyあるんだからね!(ネタ=setjmp/longjmpを使ったマクロ)
https://gist.github.com/rampion/91594
[]
[ここ壊れてます]

298 名前:デフォルトの名無しさん mailto:sage [2021/09/07(火) 23:50:11.37 ID:jZhA4bAr.net]
>>286
ちなみにtry~catch~finallyっぽいのはVC++が持つと光と闇が両方そなわり最強に見える
Cが持つと逆に最適化が合わさり頭がおかしくなって死ぬ

299 名前:デフォルトの名無しさん mailto:sage [2021/09/08(水) 05:21:53.89 ID:KzXEzs8I.net]
>>287
別に頭がおかしくなって死なないでしょ
finally機構で資源解放する機会が増えるのはユーザーの利益になるだけで、複雑さを増す不利益にはならないよ

300 名前:デフォルトの名無しさん mailto:sage [2021/09/08(水) 05:59:59.53 ID:4NmVrZFW.net]
確かにgccだと-O1でも2でも3でも暴走しちゃうけど、vc++だと最適化してもちゃんと動くね

301 名前:デフォルトの名無しさん [2021/09/08(水) 09:59:21.28 ID:1wbeyQs7.net]
VC++はマイクロソフト拡張によってCでも構造化例外処理が使えたんだよね

__try __except __finally

302 名前:デフォルトの名無しさん mailto:sage [2021/09/08(水) 10:59:12.67 ID:6jFCz4HP.net]
intalコンパイラはほんとにヤバいが、gccの最適化で変なことになったことは自分は一回もない

303 名前:デフォルトの名無しさん mailto:sage [2021/09/08(水) 17:34:33.82 ID:nCYYHiA4.net]
finallyは20年前からBorlandC++に既に実装済だったしその頃のVC++なんか>>146の状態やし



304 名前:ハノン mailto:sage [2021/09/08(水) 19:46:07.29 .net]
>>276
ですよね!

305 名前:ハノン mailto:sage [2021/09/08(水) 19:47:37.26 .net]
>>286
最近まで try.. catch の実装の大半は sjlj だと思っていましたが最近は違うのですか?

306 名前:ハノン mailto:sage [2021/09/08(水) 19:51:02.76 .net]
>>273
あなたはジョークの分からない人か、それとも >>275 のいう若い人か
>>242>>230 と同様でしょ

307 名前:デフォルトの名無しさん mailto:sage [2021/09/08(水) 19:52:56.05 ID:zE01k1pD.net]
>>294
IDが出る板でID消してると浪人焼かれるぞ

308 名前:ハノン mailto:sage [2021/09/08(水) 20:33:06.31 .net]
>>296
それは単なる都市伝説
お布施を毎年律儀に払っている人にそんなことをするわけがないでしょう‥‥

309 名前:デフォルトの名無しさん mailto:sage [2021/09/08(水) 20:48:20.14 ID:4NmVrZFW.net]
>>289の件、再現コード抽出しました。最適時i=1がlongjmp後に0に戻ります。
// gccだと最適化なしなら正常終了。最適化すると終わらない。
#include <stdio.h>
#include <setjmp.h>
int main(int argc, char *argv[])
{
int i = 0;
jmp_buf jmpbuf;
_setjmp(jmpbuf);
printf("hoge\n");
if (i < 1)
{
i = 1;
longjmp(jmpbuf, 1);
}
return 0;
}

310 名前:デフォルトの名無しさん mailto:sage [2021/09/08(水) 21:06:38.45 ID:QZMwNs5W.net]
gccで例外ぽい事したいならC++にして使えで完結しちゃうからな……

311 名前:デフォルトの名無しさん mailto:sage [2021/09/08(水) 21:09:30.53 ID:4NmVrZFW.net]
インラインアセンブラとかでもない限り、処理系依存の文法を使いたくはないし、>>286はあくまでネタですよ。
ただ最適化時の挙動が違う原因を知りたかったので、個人的に調べた結果を載せといただけです。
お気になさらず。

312 名前:デフォルトの名無しさん mailto:sage [2021/09/08(水) 22:55:38.96 ID:7k6oklod.net]
setjmpの結果を変数に入れちゃダメだって教わらなかった?

313 名前:デフォルトの名無しさん mailto:sage [2021/09/08(水) 23:11:18.07 ID:cWvdMGeM.net]
入ってなくない?



314 名前:デフォルトの名無しさん mailto:sage [2021/09/09(木) 02:02:27.18 ID:aICFtjZy.net]
>>297
規制議論板を一度でも見たことがあるの?
どれだけのIDを消して書き込んでる奴が浪人焼かれてるかその目で確かめてくるといい

315 名前:デフォルトの名無しさん mailto:sage [2021/09/09(木) 02:39:56.24 ID:AtdpUvef.net]
コテとトリ付けながらIDは消すとかいうガイジムーブ
他スレでの荒らしがバレたら困りますって宣言してるようなもんだな笑

316 名前:デフォルトの名無しさん mailto:sage [2021/09/09(木) 03:11:54.20 ID:GRtgENVW.net]
>>298 https://www.jpcert.or.jp/sc-rules/c-msc22-c.html

317 名前:デフォルトの名無しさん mailto:sage [2021/09/09(木) 03:58:39.82 ID:k9fYYQrZ.net]
>>305
何を言いたいのか分からない無言URL貼りは時間の無駄なのでやめて欲しいです。少なくとも該当していません。

318 名前:デフォルトの名無しさん mailto:sage [2021/09/09(木) 04:10:55.91 ID:k9fYYQrZ.net]
一応書いておくと、>>298のコードは見れば分かるとおりiをvolatile宣言して最適化の対象から外せば当然動きます。
これはlongjmpに限った話ではありません。

先のURLの個別のコードにはありませんが、一般論としての記述はありました。このサイトが元にしてるサイト(リンクのURLは違いましたが)ではvolatileも例に含まれているようです。
https://wiki.sei.cmu.edu/confluence/display/c/MSC22-C.+Use+the+setjmp%28%29%2C+longjmp%28%29+facility+securely

319 名前:デフォルトの名無しさん mailto:sage [2021/09/09(木) 04:18:38.68 ID:k9fYYQrZ.net]
すみません。見落としてただけみたいですね。日本語の方でも個別のコードありましたね。寝ぼけてたかも。

320 名前:デフォルトの名無しさん mailto:sage [2021/09/09(木) 08:55:47.93 ID:+RnvyubR.net]
>>295
嘘記事かどうかくらいは書いておくべきだと思うがね
だいぶ前に初めて見たとき俺も半信半疑だったし(D&Eをまだ読んでなかった頃だが

てかオブジェクト指向のとこをテンプレート(メタプログラミング)に置き換えるとすごいしっくり来るんだよなアレ

321 名前:デフォルトの名無しさん mailto:sage [2021/09/09(木) 12:39:56.43 ID:emntwqXC.net]
>>295
全然違う。
>>230は少なくとも本人の発言からの引用であり、(権威に訴える論証が混ざっているとはいえ)すべてを否定することはできない。
>>242は自分の主張を強化するためにでっち上げた嘘であり、本人の普段の主張を否定する邪悪な紛い物。本人も否定しているものをジョークと称するのはやはり正気を疑う。

322 名前:デフォルトの名無しさん mailto:sage [2021/09/09(木) 12:56:38.90 ID:emntwqXC.net]
>>295
一言言い忘れた。
ジョークを「主張」するなよ。アホか。

323 名前:デフォルトの名無しさん mailto:sage [2021/09/09(木) 18:44:12.96 ID:9obv3E3K.net]
ワクチン拒否とかしてそう



324 名前:デフォルトの名無しさん mailto:sage [2021/09/09(木) 18:45:48.31 ID:I6ZDQIJr.net]
ダニングクルーガー効果のなんちゃってマスター状態でも容易に書けちゃうのが問題。
そのクソコードの状態でも一応動くところがC++の恐ろしいところでもあり幅広いフリーフォーマットの適応力でもある。

325 名前:デフォルトの名無しさん [2021/09/09(木) 19:54:26.64 ID:VcdPV4nP.net]
jokeもhumorも馬鹿には理解できない

326 名前:デフォルトの名無しさん mailto:sage [2021/09/09(木) 20:23:36.23 ID:M2q//47O.net]
>>312
自粛警察乙
マスゴミに煽られるまま踊るのジュリアナのお立ち台みたいな気分?

327 名前:デフォルトの名無しさん [2021/09/09(木) 20:26:09.91 ID:5B6QjFP1.net]
お前らってホント人にケチつけるときだけイキイキとしてんな

328 名前:デフォルトの名無しさん mailto:sage [2021/09/09(木) 20:41:37.86 ID:Ja2+yviO.net]
シャリーア・ポリスとかスシ・ポリスとかみたいな人

329 名前:デフォルトの名無しさん mailto:sage [2021/09/11(土) 11:18:20.93 ID:ke/Tkn8S.net]
オブジェクト指向も構造化も原理主義者がウザいだけで
ナンチャッテでいいからやってると問題がきれいに整理できるので
やめようとは全然思わない

テンプレートだってそうだ

330 名前:デフォルトの名無しさん mailto:sage [2021/09/11(土) 11:23:49.14 ID:rfW8qH4V.net]
pbs.twimg.com/media/EUH_eMWUwAAgsV4.jpg
https://pbs.twimg.com/media/D4p7dNfUwAAa34y.jpg

331 名前:デフォルトの名無しさん [2021/09/11(土) 12:26:09.65 ID:3OqmYb77.net]
C++には酸っぱい葡萄もある

332 名前:デフォルトの名無しさん mailto:sage [2021/09/11(土) 12:37:06.92 ID:FXACoymx.net]
テンプレートってただの超絶便利機能だろ
オブジェクト指向笑とは比べ物にならない

333 名前:デフォルトの名無しさん mailto:sage [2021/09/11(土) 12:45:07.36 ID:d+bn5JZd.net]
>>318
歴史は繰り返す、ってことだろ
一時期C++コミュニティがJavaに悪影響受けたりしてたことからJavaを嫌悪してたやつが
何でもSTLの真似してりゃ自動的に価値のあるコードになると盲信してたからな
笑うしかない



334 名前:デフォルトの名無しさん mailto:sage [2021/09/11(土) 12:49:01.51 ID:ke/Tkn8S.net]
俺ら技術屋の辛いとこだよ
新しいものはとりあえず食ってみるしかない
あげくゲロマズで非常に気分が悪くなることもあるが怖がってらんない

335 名前:デフォルトの名無しさん mailto:sage [2021/09/11(土) 12:59:15.55 ID:d+bn5JZd.net]
技術屋というか、実用してる人は盲信はしないと思う
原理主義に走るのは、自分の頭で考えない(権威に頼る)からだ
自分の頭で考えて使ってれば、自ずと長所も短所もわかるもんだ

336 名前:ハノン mailto:sage [2021/09/11(土) 14:40:07.67 .net]
>>311
人を選ぶジョークとはまさに >>242 のことだったんですね‥‥
今回は勉強させていただきました

337 名前:デフォルトの名無しさん mailto:sage [2021/09/11(土) 15:50:05.22 ID:pU9Ou8D7.net]
分かったら二度とデマ流すなよ
ワクチンにマイクロチップだのどこそこの銀行が潰れるだの朝鮮人が井戸に毒入れただのもだぞ
本人は軽いジョークのつもりでも、デマとして流行したら人が死ぬんだからな

338 名前:デフォルトの名無しさん mailto:sage [2021/09/11(土) 18:07:47.03 ID:ke/Tkn8S.net]
> 原理主義に走るのは、自分の頭で考えない(権威に頼る)からだ

ほんこれ

339 名前:デフォルトの名無しさん [2021/09/11(土) 21:27:01.30 ID:3OqmYb77.net]
そうはいってもC言語規格にfinally機構があったら便利なはず
PGが規格追加に後ろ向きになってしまうのはコンパイラの対応が信頼できるレベルになるまで時間がかかる不快な経験を積んできたから

340 名前:デフォルトの名無しさん mailto:sage [2021/09/11(土) 21:45:47.80 ID:mopEDxb+.net]
デストラクタもないC言語にfinallyだけあってもねぇ…

341 名前:デフォルトの名無しさん mailto:sage [2021/09/11(土) 21:55:48.31 ID:x2ZLDQix.net]
じゃあC#使えで……

342 名前:デフォルトの名無しさん mailto:sage [2021/09/11(土) 21:59:46.39 ID:3OqmYb77.net]
>>329
デストラクタがないからこそfinallyで資源解放処理を呼び出す需要があるともいえるんだけど

343 名前:デフォルトの名無しさん mailto:sage [2021/09/11(土) 22:14:53.27 ID:rQxvOqzv.net]
>>331
実際に書いてみたらわかると思うけどどこからfinallyに来るのかわからないから解放処理書くのはけっこう大変だぞ



344 名前:デフォルトの名無しさん mailto:sage [2021/09/11(土) 22:44:38.83 ID:3OqmYb77.net]
どこから来るかわからないのはgotoも同じ

345 名前:デフォルトの名無しさん mailto:sage [2021/09/11(土) 22:51:49.85 ID:6kN4WIJa.net]
だからたいして楽にはならんよって話ね

346 名前:デフォルトの名無しさん mailto:sage [2021/09/11(土) 22:54:02.48 ID:zCvRZpSn.net]
例外がいらんわ
必要としてるやつはC使うなよ

347 名前:デフォルトの名無しさん [2021/09/11(土) 23:18:46.75 ID:EO9owr6G.net]
関数毎に atexit かな

348 名前:デフォルトの名無しさん [2021/09/12(日) 01:57:56.96 ID:z8yQu9Mw.net]
Goのdefer文でいいんじゃないか

349 名前:デフォルトの名無しさん mailto:sage [2021/09/12(日) 11:03:53.61 ID:JRO5EM3e.net]
ハノンフルボッコされて火病を起こしててワロス
自分が悪いのに逆ギレするほどみっともないことはないなあw

350 名前:デフォルトの名無しさん mailto:sage [2021/09/12(日) 11:40:02.90 ID:AN8tG6su.net]
整形後に関数が10行以上になったらコンパイルエラーにしよう
関数名1行+開きカッコ1行+return1行+閉じカッコ1行だから実質5行までな

351 名前:デフォルトの名無しさん mailto:sage [2021/09/12(日) 12:24:15.40 ID:SBMPlzna.net]
たまにちびっこだらけのピアノ教室に一人だけ下手くそなおじさんが混ざってて臆面もなく発表会とかにも出てくるけど、それがその固定ハンドル

352 名前:デフォルトの名無しさん mailto:sage [2021/09/12(日) 17:30:32.90 ID:d/9I2lQ9.net]
質問でsが
std::this_thread名前空間内の関数は、std::thread以外の手段で作ったスレッドで
実行しても大丈夫なんでしょうか、

一部のC標準ライブラリ関数みたいにスレッド起動手段次第でリークしたりすることは無い?
https://cpplover.blogspot.com/2010/10/msvc.html

353 名前:デフォルトの名無しさん mailto:sage [2021/09/12(日) 18:10:18.89 ID:TJh0S1vO.net]
>>341
やってみないと分からないから自己責任でご自由にどうぞ、というのが正しい回答



354 名前:デフォルトの名無しさん mailto:sage [2021/09/12(日) 18:54:34.09 ID:d/9I2lQ9.net]
>>342
std::thread以外の手段で作ったスレッドで実行したときのふるまいは
規格上非規程ということでおk?

355 名前:デフォルトの名無しさん mailto:sage [2021/09/12(日) 18:58:14.10 ID:d/9I2lQ9.net]
未定義動作とか処理系依存とかではなく、規定されていないということ?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<300KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef