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


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

C++相談室 part146



1 名前:デフォルトの名無しさん mailto:sage [2019/11/07(木) 11:35:36.76 ID:4wggfTwe.net]
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。

前スレ
C++相談室 part145
mevius.5ch.net/test/read.cgi/tech/1568362404/

このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
mevius.5ch.net/test/read.cgi/tech/1556142878/

■長いソースを貼るときはここへ。■
 codepad.org/
 https://ideone.com/

[C++ FAQ]
https://isocpp.org/wiki/faq/
www.bohyoh.com/CandCPP/FAQ/ (日本語)

566 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 08:46:18.46 ID:Z3kanSY4.net]
>>550
他に勉強しなきゃいけないことって具体的に何だ?
インターフェースだの通信規約だの法務だのを
規格を避けて勉強なんかできるのか?
そういうおまえ自身は本当に勉強してるのか?

567 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 08:48:00.43 ID:6WV7ZyL7.net]
>>555
一連の流れ読んでから言えよ
C++の規格や仕様の話だボケ

568 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 09:05:20.91 ID:Z3kanSY4.net]
>>556
おまえこそどーに目ぇつけとんのやあんだら
C++以外の規格なら読むんだって話じゃねえだろうがよ

569 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 09:08:12 ID:d8r3fnrq.net]
>>557
>C++以外の規格なら読む
誰がそんなこと言った?
他に勉強しなきゃいけないこと、に含まれてるだろうが
自分の勘違い棚に上げるなよ

570 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 09:15:53 ID:Z3kanSY4.net]
>>557
550は規格を読んだことがあるやつは皆無と言ったんだよ
それがC++だけにせよ規格全てにせよ
おかしい主張であることに変わりはない

自分の発言を読み返してみな
俺がわざわざ頓珍漢とか言ってやることもない

571 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 09:16:34 ID:Z3kanSY4.net]
安価ミスった
558な

572 名前:554=556=558 mailto:sage [2019/12/04(水) 09:32:28 ID:mZNCV5xz.net]
お前はC++の標準ライブラリ等の仕様の確認に毎回規格書読んでんの?

573 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 09:53:35 ID:4dvDh/Ut.net]
>>551, >>553 ありがとうございます。
今「C++ポケットリファレンス」を見たら

ほかのマニピュレータと異なり、std:setw()は例外的に効果が持続しません。
一度std::setw を指定した出力が行われると効果は解除されます
(std::setw(0)を呼び出した状態になります)。

とありました (p.250)。
それと...
$ man std::setw

The width property of the stream will be reset to zero (meaning "unspecified") if 〜

ちゃんと書いてますね。何より先に man を見るべきでした。
とはいえ setw は "例外的" なのだとちゃんと教えてくれる本は助かるなあと思いました。

574 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 10:10:41 ID:4dvDh/Ut.net]
それから man の最後には cppreference.com へのリンクがありました。
あまり www.cplusplus.com との違いを意識した事はなかったのですが、
公式仕様として参照するべきなのはそっちのようですね。

同じ内容の日本語版は
https://ja.cppreference.com/w/cpp/io/manip/setw
で見れました。



575 名前:デフォルトの名無しさん [2019/12/04(水) 10:52:51.16 ID:vhuKISsK.net]
規格確認部とかあるんじゃないの。
知らんけど。

576 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 10:57:38.20 ID:Z3kanSY4.net]
>>561
え? ・・・そうだけど?
規格票というか、正確にはドラフトな
何かおかしいか?

577 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 11:17:13 ID:mZNCV5xz.net]
それ無駄に時間かかってるんじゃないの
よくクビにならないな

578 名前:デフォルトの名無しさん [2019/12/04(水) 11:19:22 ID:sb3P/SSe.net]
1.禿でも判るC++入門
2.判ると禿げるC++入門
3.禿専用C++

579 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 12:23:43.29 ID:Jd4YzzOQ.net]
>>554
煽る以前に>>513からはペラッペラの内容しかでてこないことはわかったからお前が出てけよw

580 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 12:29:09.42 ID:Jd4YzzOQ.net]
>>561
必要なら読むだろ
流石に毎回じゃないけど
そもそもお前は規格も読まないでテキトーにコード書いてるのか?

581 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 12:36:02.75 ID:mZNCV5xz.net]
>>569
>流石に毎回じゃないけど
なら黙ってろ

規格の原文読まない=テキトーにコード書く、なのかお前の中では
思い上がりすぎだろ

582 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 12:48:55.97 ID:Z3kanSY4.net]
いや、きちんと仕事したくて
伝聞に頼らず一次ソースを確認するんだよ

583 名前:デフォルトの名無しさん [2019/12/04(水) 12:53:29.05 ID:sb3P/SSe.net]
実用コード書くより机上の空仕様書描くのが好きな人なんやろな

584 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 13:03:10.48 ID:Jd4YzzOQ.net]
>>570
> 規格読んだことある人なんか皆無だと思うよ
とか言うバカに言われてもなぁ
知識がペラッペラすぎるw



585 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 13:09:39.95 ID:6uL3p ]
[ここ壊れてます]

586 名前:MIB.net mailto: おまいらスレタイ []
[ここ壊れてます]

587 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 13:17:06.83 ID:mquXx5f5.net]
みんな私のために争って!

588 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 13:19:26.79 ID:mZNCV5xz.net]
「きちんと仕事したくて伝聞に頼らず一次ソースを確認」
なんか胡散臭くなってきたな・・・・
「仕事でやってる人もフリーソフト開発者も」のどちらにも当てはまらないのに噛み付いてきたんだろうな
エアプログラマの相手してスレ無駄遣いした、すまんかった

589 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 13:20:38.21 ID:6uL3pMIB.net]
ソフトエンジニアでC++の規格書を読む人なんてほとんどいないよ
そんなのを読んでも良い設計にはつながらない

590 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 13:23:39.63 ID:6uL3pMIB.net]
規格書で確認しないと書けない/読めないようなコードは
基本的には悪いコード

591 名前:デフォルトの名無しさん [2019/12/04(水) 13:26:15.79 ID:sb3P/SSe.net]
ゴールポスト移動中ですね判ります

592 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 13:27:52.48 ID:Z3kanSY4.net]
規格書ではなく規格票な
つまらん齟齬を避けたいのも
規格票を読む目的の1つだ

593 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 13:42:20.48 ID:MnUOTj8y.net]
>>578
でも最近、特に海外の方で自分が知っている素朴な C++ とは全く違う
書き方をしている C++ コードを良く見かけるようになったので、
新しい仕様を学ばないと理解できなくなってきた。
STLを深く使うと C++ とは思えないようなコードになるので。

594 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 13:46:18.71 ID:P3QxjggL.net]
フロント周りは全くついていけない
コロコロと次から次へ節操なく移り変わって馬鹿じゃねえの、とつい老害的思考に



595 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 13:48:46.17 ID:rFzpkzsp.net]
C++20でコンセプトやモジュールやコルーチン記法が入ってきたら、そういう古兵にはもはやC++には見えんだろうなぁw

596 名前:デフォルトの名無しさん [2019/12/04(水) 13:49:01.49 ID:sb3P/SSe.net]
CUIのフロントはTurboC++だったな

597 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 14:25:33.26 ID:33/nOLSe.net]
C++で音鳴らせるようになるの?

598 名前:デフォルトの名無しさん [2019/12/04(水) 15:02:13 ID:vhuKISsK.net]
バスブーストですか?

599 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 15:46:25.30 ID:MnUOTj8y.net]
「フロント周り」って何のことですか??

600 名前:デフォルトの名無しさん [2019/12/04(水) 16:29:27.61 ID:vhuKISsK.net]
フロント企業が一般消費者と直接取引する会社で、バックが暴力団じゃなかったっけ。

601 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 19:40:12.56 ID:FhHmXOPx.net]
つまんな

602 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 19:50:18.04 ID:FhHmXOPx.net]
企画書を読まないとわからないコードなんかあると思ってるのか?
読むべきはcppreferenceのようなアホにも分かるように優しく解説してくれてる文書
分からないことがあれば必要なキーワードを検索欄にぶち込んだらすぐに分かるようにできている

603 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 20:09:28.90 ID:6yabeJe9.net]
アホのサバイバルか
唾棄

604 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 20:33:31.84 ID:ZHZFM6qI.net]
プロでもアマチュアでもいいんだよ
初心者でも学生でもいいんだよ
ただし
身の程知らずのド素人が知ったふうな口を利いてるとさすがに叩かれるよ



605 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 20:49:47.75 ID:+udf6Yna.net]
>>577
> ソフトエンジニアでC++の規格書を読む人なんてほとんどいないよ
お前の周りはそうなんだろうな

> そんなのを読んでも良い設計にはつながらない
読んだことない奴はそう言うよなw

>>578
お前規格票に何を書いてるのか知らんだろ
まあそのまま沈んどけ

606 名前:デフォルトの名無しさん [2019/12/04(水) 21:20:21.85 ID:xsMIF6qI.net]
ていうかC++のスレでこんな流れが加速するなんて
思ったよりC++erて数いたんだなぁ、というのが素朴な感想

607 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 21:22:48.52 ID:DNIeF7b9.net]
アホでも炎上商法はできるってことだ

608 名前:デフォルトの名無しさん [2019/12/04(水) 21:54:34.88 ID:vhuKISsK.net]
じゃあ点呼取ります。
江添クン!

609 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 22:15:09.71 ID:ZHZFM6qI.net]
> 思ったよりC++erて数いたんだなぁ、というのが素朴な感想

C++erというよりここは単に無職と学生サンのすくつでしょw

610 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 22:19:24.66 ID:7vpFGLgR.net]
とりあえず>>593は無職だと思う

611 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 22:27:51.85 ID:UrCkYA+I.net]
c++11以降みたいなああいうコード書きたいなら変な見栄はらずにpythonでもrubyでもやってたらいいんだよ。

612 名前:デフォルトの名無しさん [2019/12/04(水) 22:31:45.53 ID:QZ1McR0s.net]
C++コンパイラやSTL準拠ライブラリを作る仕事に関わってたら規格書を読まないとどうにもならないと思うけど、
そうじゃない人は市販のC++入門で十分じゃないかな。

613 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 22:33:17.56 ID:J7QAHgda.net]
>>596
金型の会社に出向いて定期的に講座やってるらしいね
金型の演算ってそんなC++が効くものなんだ
CGALみたいに幾何分野でバリバリ使われるのは知ってるけど、設計の分野も同じなんかな

614 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 22:33:57.92 ID:UrCkYA+I.net]
てか規格通りにまともに動くなんてのは例外ってことは
普通にc++を仕事で使ってりゃ分かるもんだがな。
その時点で江添みたいに実際の仕事で使ってないのが丸分かりになる。



615 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 22:58:37.27 ID:CXPVLMHx.net]
今時MSVCでも大部分は規格通り動くぞ

616 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 23:08:27.56 ID:7MoywY5f.net]
>>598
どこからそんなアホな決めつけしてるんだよ…
もしかして会社からセミナーとかにも行かせてもらえないような底辺なのか?w

617 名前:デフォルトの名無しさん [2019/12/04(水) 23:22:31.61 ID:vhuKISsK.net]
式を教えてもいいけど、理解できるかどうか。

618 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2019/12/05(Thu) 00:23:37 ID:XYdg44Nt.net]
必要なら読むし必要じゃないならないなら読まないってだけのことだろ。
そんなん場合によるっつーつまらん結論しかないと思うが。

619 名前:デフォルトの名無しさん mailto:sage [2019/12/05(Thu) 00:28:04 ID:wvPvimki.net]
はいいつものクソ正論いただきました

620 名前:デフォルトの名無しさん mailto:sage [2019/12/05(Thu) 00:35:44 ID:dM4mxJ4y.net]
実の無い(楽しそうでもない)話をつづけられるよりはクソ正論で鎮火してくれたほうがマシに思う。
件の人たちはそれで鎮火するような人でもないんだろうけど。

621 名前:デフォルトの名無しさん mailto:sage [2019/12/05(Thu) 00:43:36 ID:2jEFb1Vk.net]
互いに見下しあい罵倒しあってこそC++er
ここは不毛なマウント取り合戦の場C++スレ
鎮火する必要なし

622 名前:デフォルトの名無しさん mailto:sage [2019/12/05(Thu) 01:15:42 ID:+j7BXLrg.net]
また髪の話をしてる

623 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 02:59:31.66 ID:9zn59iXI.net]
すまんが、レベルの低い人から見ると、レベルの高い人が気軽に話した
内容が「マウントをとられた」と思ってしまうんだと思う。
そういうつもりで言ってなくても。
これは、公立の小学校でよく起きる現象で、問題になっている。

624 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 03:04:36.20 ID:9zn59iXI.net]
>>611
蛇足だが、これは欧米諸国でよく知られた現象。
アメリカで記名製掲示板が流行るのは、匿名性掲示板ではどうしても
それが起きてしまうので、それをよく分かった上でやっているのかも
知れない。それだけの理由ではないだろうけど。



625 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 06:18:49.18 ID:eAZGTWY0.net]
>>609-610
この流れを評するのに「不毛」って言葉を選ぶのはC++らしいね。
「マウント」も落語「頭山」を想起させる。

626 名前:デフォルトの名無しさん mailto:sage [2019/12/05(Thu) 08:26:15 ID:V4GZwDuE.net]
しかしあれだな、C++ほどハゲがよく似合う言語を知らない

627 名前:デフォルトの名無しさん mailto:sage [2019/12/05(Thu) 11:35:47 ID:tjjaS4Ug.net]
江添亮のC++入門 (webドラフト版? https://ezoeryou.github.io/cpp-intro/#再帰関数 )
を読んでます。

>例えば以下は階乗を計算する再帰で書かれたループだ。
> int factorial( int n ) { ...
> return n * factorial(n-1) ;
> ...
>このコードは末尾再帰になっている。
>末尾再帰は非再帰のループに機械的に変

628 名前:キできる特徴を持っている

これ factorial(n-1) が返ってきたらスタックに積んである n を掛けないといけませんよね。
厳密には末尾再帰とは言えない気がします。
そういうの無しに「直帰でコール元に値を渡せる場合」に末尾再帰と言えるのだと思ってたんですが、
私の理解が間違っているのでしょうか?

まあ今のコンパイラーは賢いので細かい事気にする必要ないのかもしれませんが。
[]
[ここ壊れてます]

629 名前:デフォルトの名無しさん [2019/12/05(Thu) 11:37:52 ID:IbmhSLeW.net]
>>611
馬鹿ほどそれを気にするよな
判らなかったら調べれば良いのに
調べずに反論し始めるω

630 名前:デフォルトの名無しさん mailto:sage [2019/12/05(Thu) 12:32:19 ID:RTwQsK8m.net]
>>615
末尾再帰じゃないよ

631 名前:デフォルトの名無しさん mailto:sage [2019/12/05(Thu) 13:51:16 ID:tjjaS4Ug.net]
>>617 ですよね。
ちょっと気になってたのでスッキリしました。

632 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 18:12:34.01 ID:5PaJAEA2.net]
簡単にループに出来るものはループで記述した方が良いよ
末尾再帰の場合もそうじゃない場合も

実行速度、使用リソース、
デバッグしやすさ、
スタック計算ツールなどツール類の使用、
などなどいろんな要素で

633 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 18:50:53.78 ID:9zn59iXI.net]
>>619
本当は、再帰呼び出しだとスタックサイズの制限により呼び出しの深さ(階数)
に制限が付いてしまう。ローカル変数を沢山使っている関数で、
1000万個のオブジェクトを再帰的に処理すると、スタックオーバーフロー
が出てもおかしくない。しかも、最近のマルチスレッド環境だと、
スタックのサイズはどうしても制限が強くなり勝ち。

634 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 18:58:39.27 ID:5PaJAEA2.net]
一言で言うと「使用リソース」だね



635 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 19:02:32.74 ID:5PaJAEA2.net]
「最近のマルチスレッド環境」はあまり関係ない
固定スタックサイズの組み込みCPUの方がヤバい
PICみたいなハードウェアスタックだともっとヤバい

636 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 19:28:34.51 ID:ZSRmDUxb.net]
検討事項が増えるから仕事で再帰は使わんね。
理解できない人も多いし。

637 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 19:42:30.55 ID:9zn59iXI.net]
>>622
シングルスレッドだと、スタックは自動伸張することが可能だった。
ところが、32BIT のマルチスレッド環境だと仮想メモリ空間のアドレス
空間自体が不足してしまうので、それは難しい。
ただし、64BIT 環境だと仮想メモリ空間が大きいので余り問題にならない
かも知れない。

638 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 19:54:34.15 ID:5zWy9aB9.net]
再帰の例でよくでてくるフィボナッチ数列の計算なら
再帰より for で二変数保持しながら計算した方が性能でも可読性でも上だろうな。

639 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 20:04:07.94 ID:5PaJAEA2.net]
>>624
Windowsだとスタックサイズは32bitでも64bitでもデフォルト1MBだぞ

適当な事を言わないように

640 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 20:10:23.46 ID:5PaJAEA2.net]
>>625
組み込み型サイズ程度だと普通にexpを使って計算する方が速い

多倍長の巨体な値でも
素直に1個ずつ計算すると非常に遅い
もっとずっと高速な方法がある

641 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 20:16:10.38 ID:5PaJAEA2.net]
再帰をループに置き換えるので面倒なのは
いろんな箇所でたくさん分岐するヤツ

まあでも面倒ってだけで、
必ず再帰を使わずに記述出来る

642 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 20:21:10.87 ID:5zWy9aB9.net]
treeを辿るコードなんかは再帰のが書きやすいわな。

643 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 20:23:50.71 ID:5PaJAEA2.net]
treeをたどるコードは再帰コールするのが1箇所だからまだ楽な方

644 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 20:24:01.37 ID:9zn59iXI.net]
>>629
Tree は再帰でやるべきものの一つ。
スタックの制限も、Treeの「段数(階数)」自体が余り深くなりにくいので
問題が生じにくく、再帰でやっても問題ないものの一つでもある。
ただし、親子関係の深さ方向だけを再帰にし、兄弟方向は、単純な
ループを使うべき。



645 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 20:28:30.76 ID:5PaJAEA2.net]
再帰にすべきかどうかはものによる
例えばstd::setの検索は普通ループを使う

646 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 20:38:37.36 ID:tjjaS4Ug.net]
フィボナッチとかで再帰
末尾再帰を捨てる(性能とスタック無駄遣いに目を瞑る)と可読性はかなりいいと思うんです。
int fibo(int n) {
if (n<=2) return 1;
else return fibo(n-1) + fino(n-2);
}
その場で使い捨てるようなプログラムにはアリだと思います。

でも末尾再帰を目指すと.. . .
int fibo(int n, int a=1, int b=1){
if (n<=2) return b;
else return fibo(n-1, b, a+b);
}
どうなんですかね. . .。Lisp脳だと forループより好まれるかもしれません。
ちゃんと末尾再帰最適化が効けば性能は良いのでしょう。

647 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 20:48:58.05 ID:5PaJAEA2.net]
>>633
前半
見やすさはそれが一番だね
記述が定義通りなので

後半
それなら普通のループの方が分かりやすくないか?

648 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 21:03:01.64 ID:tjjaS4Ug.net]
あちら(Lisp)の世界ではそうでもないみたいですよ。

649 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 21:09:55.69 ID:5PaJAEA2.net]
へ〜

650 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 21:23:00.63 ID:oayOS3nx.net]
C++てparallel_forとか未だにないんだな、まぁTBB使えばあるけど標準規格には用意されてない
仕方がないんでPartitionerは自前で作ったが、そんな付け焼き刃用意したところで、
いちいち明示的に各スレッドの終了の待ちあわせせにゃならん。
挙げ句の果てに
mtx.lock()
----
mtx.unlock()
て orz
クリティカルセクションはブロックで囲って
lock(mtx){
}
とでも書かせろや
オートunlockとかしょーもないもんは用意してバカじゃねーのか
しかも、未だにasync/await はなくて、C++20で実装て。
何が必要かわかってないのかC++規格作ってるアホ共
死ね

651 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 21:36:40.64 ID:JlYSK1cQ.net]
つstd::lock_guard

652 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 21:51:24.38 ID:u0CioZb2.net]
adync awaitなんてネイティブで実装しようとしたら面倒なのわかるだろうに

それでもぶっこんでくるのだからc++11以降は完全にポリシー変更しているよね

653 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 21:57:53.51 ID:dM4mxJ4y.net]
>>637 std::for_each(std::execution::par, ...) じゃダメだったの?

654 名前:デフォルトの名無しさん [2019/12/05(木) 22:07:45.52 ID:q0kDwfyl.net]
ツリーの巡回はイテレータにするとスタックとキューを入れ替えるだけで深さ優先と幅優先を切り替えられますよ。
STLのスタックとキューはインターフェースが違うのでひと工夫必要ですが。
algorithmも使えてウマウマです。



655 名前: mailto:sage [2019/12/05(木) 22:28:33.56 ID:IPfJ90pV.net]
>>615
末尾再帰ならこう書くかと
https://ideone.com/GG1x2O

656 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 22:53:24.80 ID:wvPvimki.net]
おいおい
そこはcpsで書いてマウント取るところだろ

657 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 23:00:13.77 ID:uXzevjeq.net]
>>637
お前のそのクソコードlockとunlockの間で例外投げたらあっという間にデッドロックだぞ
すぐにlock_guardに書き換えるか死ぬかどっちか選べ

658 名前:デフォルトの名無しさん [2019/12/05(Thu) 23:44:19 ID:JallKI28.net]
状況説明:
Visual Studio 2019 Version 16.4.0 で std::exception::what() の戻り値を無視すると以下のようなC4834の警告が出るようになった。
> warning C4834: 'nodiscard' 属性を持つ関数の戻り値を破棄しています

なお、catchスコープでeについて何か書かないと以下の警告が出てしまう。
> warning C4101: 'e': ローカル変数は 1 度も使われていません。

今は以下のように記述して警告C4101が出ないようにしている。
try
{
// do something.
}
catch(std::exception& e)
{
e.what();
}

質問:
C4101とC4834の両方とも出ないようにするにはどうしたらいい?

659 名前:デフォルトの名無しさん mailto:sage [2019/12/05(Thu) 23:57:51 ID:2jEFb1Vk.net]
>>645
(void)e.what();

660 名前:645 [2019/12/05(Thu) 23:58:13 ID:JallKI28.net]
自己解決しました。
try
{
// do something.
}
catch(std::exception& e)
{
(void)e;
}

661 名前:645 mailto:sage [2019/12/05(Thu) 23:59:17 ID:JallKI28.net]
>>646
回答ありがとうございます。

662 名前:デフォルトの名無しさん mailto:sage [2019/12/05(Thu) 23:59:36 ID:uXzevjeq.net]
catch(std::exception&)
でええやん

663 名前:デフォルトの名無しさん mailto:sage [2019/12/06(金) 00:01:11 ID:Cd9yyMrn.net]
>>645 ほんとうに例外を何も処理せず握りつぶしたいの?どんな状況?

664 名前:645 mailto:sage [2019/12/06(金) 00:12:07 ID:Rpl4CMwP.net]
>>650
スレッドの安全な終了。



665 名前:645 mailto:sage [2019/12/06(金) 00:19:17 ID:Rpl4CMwP.net]
>>649
マクロ切り替えでeを使うコードも使えるようにしておきたいので無名変数だと都合が悪い、という感じです。

666 名前:デフォルトの名無しさん mailto:sage [2019/12/06(金) 00:24:27 ID:hYHuFzfT.net]
VCは2019から返り値を捨てるコードに警告出すようになって鬱陶しい






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

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

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