※前スレ
C++相談室 part153
https://mevius.5ch.net/test/read.cgi/tech/1602339500/
テンプレここまで
探検
C++相談室 part154
レス数が1000を超えています。これ以上書き込みはできません。
2021/01/08(金) 17:54:00.55ID:0DW9z0rL
951デフォルトの名無しさん
2021/03/03(水) 19:15:48.54ID:zRjA/+hm オライリー表紙絵みたいな動物の絵じゃないと、しっくりこない。
952デフォルトの名無しさん
2021/03/03(水) 22:54:00.65ID:on2XNxxF オイリー禿山。
953デフォルトの名無しさん
2021/03/04(木) 11:11:37.69ID:J6mhpq5t 禿と禿(かむろ)の違いが判らない
954デフォルトの名無しさん
2021/03/04(木) 13:03:17.03ID:K63vSywh カムロは半グレ
955デフォルトの名無しさん
2021/03/04(木) 13:36:37.45ID:Ep7EXP13 c++は仕事で書いてない人ほど好きな言語
956デフォルトの名無しさん
2021/03/04(木) 14:22:00.04ID:qn7RQ+4J と、仕事で書いてないやつが言う
957デフォルトの名無しさん
2021/03/04(木) 15:32:17.13ID:9GqbczPP 二人以上でやるとOOPの思想的違いがぶつかって最悪破綻するんだよな
958デフォルトの名無しさん
2021/03/04(木) 15:33:34.57ID:9GqbczPP で、仕事でやるときは、最下層にレベル合わせないとモノが出来上がらないしね
959デフォルトの名無しさん
2021/03/04(木) 17:35:44.00ID:Ep7EXP13 自分一人ならさぞかしすごいソフトウェアが書けると思ってるんですね。すごいですね。
960デフォルトの名無しさん
2021/03/04(木) 19:51:50.17ID:cqTSJRKn961デフォルトの名無しさん
2021/03/04(木) 20:33:50.17ID:Xyn3qjeu constexpr制限きつすぎ
962デフォルトの名無しさん
2021/03/04(木) 20:47:45.23ID:FQXwH3J2 C++11の頃ならともかく今そんなにきついか?
963デフォルトの名無しさん
2021/03/05(金) 05:58:33.51ID:BcBZQBoi C++20、情報過多でしんどい
964デフォルトの名無しさん
2021/03/05(金) 06:14:45.51ID:ddot6YlQ std::variant を使い始めたのですが、例えば variant の中身が4種類あって、そのうちの
2種類とか3種類だけに対し共通なコードを実行したい、ときにはどんな書き方がありますかね?
全部に同じコードを適用するなら std::visit() でいいわけですが。
2種類とか3種類だけに対し共通なコードを実行したい、ときにはどんな書き方がありますかね?
全部に同じコードを適用するなら std::visit() でいいわけですが。
965デフォルトの名無しさん
2021/03/06(土) 13:33:27.36ID:bGzUu7RI apply
966デフォルトの名無しさん
2021/03/06(土) 20:35:43.51ID:aLQdimbx >>964
共通処理を別の関数にまとめたうえで、visitする時に各型のオーバーロードでそれを呼び出す
visit時にジェネリックラムダを使って内部でif constexprで分岐
visit時にオーバーロードされた関数オブジェクトを用いて、共通処理が必要な型について呼び出されるところをテンプレートにして、他は型を指定しておく
visit時にオーバーロードされた関数オブジェクトを用いて、コンセプトで分岐
.index()とif文で書き分ける
共通処理を別の関数にまとめたうえで、visitする時に各型のオーバーロードでそれを呼び出す
visit時にジェネリックラムダを使って内部でif constexprで分岐
visit時にオーバーロードされた関数オブジェクトを用いて、共通処理が必要な型について呼び出されるところをテンプレートにして、他は型を指定しておく
visit時にオーバーロードされた関数オブジェクトを用いて、コンセプトで分岐
.index()とif文で書き分ける
967デフォルトの名無しさん
2021/03/07(日) 23:48:37.36ID:B2szmBNH968デフォルトの名無しさん
2021/03/10(水) 13:31:16.40ID:b6BdhXEV int getX() const { return mX; }
みたいな関数があるクラスのメンバ関数内でmXを参照するときに
mX と getX() のどっち使うのが一般的な書き方?
みたいな関数があるクラスのメンバ関数内でmXを参照するときに
mX と getX() のどっち使うのが一般的な書き方?
969デフォルトの名無しさん
2021/03/10(水) 14:04:43.65ID:8PvVb8hX >>968
確かにこれはいつも悩むなー
きっとアクセサ使うべきなんだろうけどね
頻繁にアクセスするならローカル変数に代入した方が早くなったりするし、一般的にクラス宣言に書いてるのもはインライン展開されてコスト的には変わらないだろうしね
むしろ他の言語のときにインライン展開なんてされないからめちゃくちゃ悩む
確かにこれはいつも悩むなー
きっとアクセサ使うべきなんだろうけどね
頻繁にアクセスするならローカル変数に代入した方が早くなったりするし、一般的にクラス宣言に書いてるのもはインライン展開されてコスト的には変わらないだろうしね
むしろ他の言語のときにインライン展開なんてされないからめちゃくちゃ悩む
970デフォルトの名無しさん
2021/03/10(水) 14:10:23.61ID:mzPrKkeu プロパティがないからな
971デフォルトの名無しさん
2021/03/10(水) 15:16:37.41ID:ZK+TZHvn なんでもかんでもgetterとかはJAVAから来たのかとか思ってしまう
取得時に演算しないならそもそもgetterなんか作らない方が分かりやすいと思うのだが
取得時に演算しないならそもそもgetterなんか作らない方が分かりやすいと思うのだが
972デフォルトの名無しさん
2021/03/10(水) 15:36:26.11ID:pTnyTINd >>971
C#みたいなのはそれはそれでわかりにくいから、getterも関数がいい。
C#みたいなのはそれはそれでわかりにくいから、getterも関数がいい。
973デフォルトの名無しさん
2021/03/10(水) 15:47:37.68ID:qvIOwUBa 無理にgetter作れってのはアホだなと思うけど、まあgetterくらいならそこまで問題になることもないかなとは思う。
やたらめったらsetter作ってたら死ねとは思うが。
やたらめったらsetter作ってたら死ねとは思うが。
974デフォルトの名無しさん
2021/03/10(水) 15:50:25.97ID:pTnyTINd const 属性をうまく使えば、getterを減らしても安全にコーディングできる。
975デフォルトの名無しさん
2021/03/10(水) 15:55:29.61ID:SA6nop04 オブジェクト指向に侵されてるとプロパティが欲しくなるだろう。
しかし、本物のC++は知っている。
それは間違いだと。
しかし、本物のC++は知っている。
それは間違いだと。
976デフォルトの名無しさん
2021/03/10(水) 19:38:24.39ID:pTnyTINd クラス外からは以下のようにconst 属性をつけてアクセスさせれば心持ち安全になる。
const MyClass& getInstance() const { return *this; }
const MyClass& getInstance() const { return *this; }
977デフォルトの名無しさん
2021/03/10(水) 19:39:09.45ID:pDjVp4Qi978デフォルトの名無しさん
2021/03/10(水) 20:37:43.62ID:wDDQFNF0 JavaBeans方式のプロパティはリフレクションあってこそのものなのにC++で真似してもなー。
979デフォルトの名無しさん
2021/03/10(水) 21:11:42.58ID:98wPPrPT JavaFXのプロパティは観測可能になってたすごかった
データバインディングとかリアクティブとかプログラムの書き方もずいぶん変わったよね
データバインディングとかリアクティブとかプログラムの書き方もずいぶん変わったよね
980デフォルトの名無しさん
2021/03/11(木) 01:07:59.93ID:6JW0gImZ そうだね流石Oracleだね
981デフォルトの名無しさん
2021/03/12(金) 00:57:21.49ID:9IOLdfat https://ideone.com/0FptIo
だれか、剰余の符号関係を教えてくれ。
だれか、剰余の符号関係を教えてくれ。
982デフォルトの名無しさん
2021/03/12(金) 01:32:57.35ID:I1KnPozY たぶんCから変わってないよな?
(a/b) * b + a%b == a
以上に説明できることはないと思うけど
他になにかあるの?
(a/b) * b + a%b == a
以上に説明できることはないと思うけど
他になにかあるの?
983はちみつ餃子 ◆8X2XSCHEME
2021/03/12(金) 03:04:36.84ID:ByeOJ4Y7 符号の向きは C++11 から仕様に入った。
(それはでは処理系定義)
C では C99 から。
(それはでは処理系定義)
C では C99 から。
984デフォルトの名無しさん
2021/03/12(金) 08:30:25.58ID:GKbHXc3G プロパティーは継承できたりインターフェースとして定めたりできるのが強み
だがそれしか強みが無i
しいて言えばリフレクションが使える言語なら、getterとsetterを同一の識別子で紐付いた形で列挙できる
というのわある鴨、(関数型のシグネチャでgetterとsetterを与えたらそうはいかん
だがそれしか強みが無i
しいて言えばリフレクションが使える言語なら、getterとsetterを同一の識別子で紐付いた形で列挙できる
というのわある鴨、(関数型のシグネチャでgetterとsetterを与えたらそうはいかん
985デフォルトの名無しさん
2021/03/12(金) 08:36:14.31ID:GKbHXc3G P=Q・X+R (0≦R<Q)
ので除数が負の%とか定義不能
被除数が負の場合はしらそん
多分Rが非負でなければならないから多分XはPより負の側に振れねばならないのではないか
ので除数が負の%とか定義不能
被除数が負の場合はしらそん
多分Rが非負でなければならないから多分XはPより負の側に振れねばならないのではないか
986デフォルトの名無しさん
2021/03/12(金) 14:00:09.40ID:9IOLdfat 未定義っぽいですね。ありがとう。
987デフォルトの名無しさん
2021/03/12(金) 16:14:00.58ID:EbD8nxkK C/C++に限らず界隈では「負数の剰余をとるべからず」という伝承がある
>>985
剰余の定義は、その定義だけではないですね
「最小正剰余」のほかには「絶対的最小剰余」もあります
https://ja.wikisource.org/wiki/%E5%88%9D%E7%AD%89%E6%95%B4%E6%95%B0%E8%AB%96%E8%AC%9B%E7%BE%A9/%E7%AC%AC1%E7%AB%A0/%E6%95%B4%E6%95%B0%E3%81%AE%E6%95%B4%E9%99%A4
自分で適当な剰余を定義したっていいのですよ
剰余の定義は、その定義だけではないですね
「最小正剰余」のほかには「絶対的最小剰余」もあります
https://ja.wikisource.org/wiki/%E5%88%9D%E7%AD%89%E6%95%B4%E6%95%B0%E8%AB%96%E8%AC%9B%E7%BE%A9/%E7%AC%AC1%E7%AB%A0/%E6%95%B4%E6%95%B0%E3%81%AE%E6%95%B4%E9%99%A4
自分で適当な剰余を定義したっていいのですよ
989デフォルトの名無しさん
2021/03/13(土) 14:10:18.80ID:9o031KiD 0へ丸めるtruncate算だったかと
mod算するときに結構困るのでユークリッド算関数は常にヘッダに入れてる
a % 2 == 1 // -1かもしれない
まあ偶奇判定くらいなら!=0で取り繕えるけど
ネットで見かける拡張ユークリッドのトイプログラムは大体間違ってるね
負の除数を想定してないgcdならそれでいいけど、ベズー係数求める時に負の被除数を扱えないと一般解の公式で他の解出してお茶は濁せるけど
有限体やら他の体とテンプレート共有できない
mod算するときに結構困るのでユークリッド算関数は常にヘッダに入れてる
a % 2 == 1 // -1かもしれない
まあ偶奇判定くらいなら!=0で取り繕えるけど
ネットで見かける拡張ユークリッドのトイプログラムは大体間違ってるね
負の除数を想定してないgcdならそれでいいけど、ベズー係数求める時に負の被除数を扱えないと一般解の公式で他の解出してお茶は濁せるけど
有限体やら他の体とテンプレート共有できない
990デフォルトの名無しさん
2021/03/17(水) 23:25:02.49ID:H7rJK4fS ttp://open-std.org/jtc1/sc22/wg21/docs/papers/2021/n4885.pdf
991デフォルトの名無しさん
2021/03/22(月) 08:32:15.77ID:j6rur0Vp 静的ライブラリを作るときに-fPICを指定する必要はないよね?
992デフォルトの名無しさん
2021/03/22(月) 09:41:25.38ID:mzxuOn07 OSによるのでは
993デフォルトの名無しさん
2021/03/22(月) 23:28:52.74ID:iFQHROzx PICマイコン用のバイナリが吐かれる
994デフォルトの名無しさん
2021/03/24(水) 07:52:17.23ID:PNXF+EC1 struct a{};
struct b:private a{};
b c;
(a*)&c; //ok
この下痢糞仕様は何?
こう決まった理由が知りたい
struct b:private a{};
b c;
(a*)&c; //ok
この下痢糞仕様は何?
こう決まった理由が知りたい
995デフォルトの名無しさん
2021/03/24(水) 08:46:44.63ID:QJMmjFss996デフォルトの名無しさん
2021/03/24(水) 09:11:00.00ID:PNXF+EC1 reinterpret_castとちゃうで
997デフォルトの名無しさん
2021/03/24(水) 09:17:53.26ID:R+oM8cup たとえ(int*)&c;でも通るでしょ
998デフォルトの名無しさん
2021/03/24(水) 09:40:19.90ID:PNXF+EC1 仮想継承にするとダウンキャストはできなくなるんで
型を無視しているのでもなさそう
型を無視しているのでもなさそう
999デフォルトの名無しさん
2021/03/24(水) 10:03:59.75ID:FhOgWspo ポインタは任意のポインタに変換出来る
未定義動作になる可能性があるのはデリファレンスするコードを書いた場合
未定義動作になる可能性があるのはデリファレンスするコードを書いた場合
1000デフォルトの名無しさん
2021/03/24(水) 10:41:19.80ID:uPqg/PBu 64bitアプリで32bit整数値をvoid*にキャストしようとするとエラーになる場合があるね。
それを親切と感じることが出来れば玄人。
それを親切と感じることが出来れば玄人。
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 74日 16時間 47分 20秒
新しいスレッドを立ててください。
life time: 74日 16時間 47分 20秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 働いて働いて働いても生活は…円安に歯止めが掛からず生活は苦しくなるばかり…サナエノミクスの限界で「高市不況」がやってくる ★5 [ぐれ★]
- 日中対立、打開策見えず 高市氏答弁1カ月、影響拡大 [蚤の市★]
- 2026年はゲーム機やPC、スマホが一斉値上げか メモリ大手ブランド「Crucial」廃止の衝撃 [樽悶★]
- 元グラドル維新議員 夫に「サンドイッチのパン」を依頼→食パン6枚切り買われ怒り…“どちらが悪い?”SNSで議論 ★3 [muffin★]
- 【鹿児島】うちでシャワー浴びたら? マリンレジャー後に自宅に誘われた20代女性「着替え部屋にカメラが…」57歳男「盗撮目的ではない」 [ぐれ★]
- 渡邊渚「性を売ってるくせに」批判に反論 幻滅「これが日本の現状だよなー」「『渾身の下着!』というような意味でやってない」★5 [Ailuropoda melanoleuca★]
- 【DAZN】フォーミュラGP【F1 2 3 SF P】Lap1819
- 【フジテレビ】2025 FORMULA 1【NEXT】Lap612
- 競輪実況★1621
- とらせんIP ★3
- 他サポ2025-281
- こいせん 全レス転載禁止
- おさかなさんあつまれえ
- 日本人が戦争したがってる中国、ガチで強い模様…なぜ日本人は強気なの? [819729701]
- ガチのマジで18未満だけど質問ある?
- 「Steam」が大嫌い。CSが発展させて来たゲーム文化に寄生して吸いつくそうとしてる卑劣な業者でしょ [653462351]
- 高市総理が決めた議員定数削減ってどえらい共産主義独裁への道らしいぞ?! [134367759]
- カナダ、格安航空会社ウエストジェット航空、座席のリクライニングに課金する制度をスタート [943688309]
