[過去ログ] C++相談室 part165 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
84: デフォルトの名無しさん (ワッチョイ 63d2-XEY5) [sage] 2023/12/21(木) 20:01:46.13 ID:i16TeC3D0(1) AAS
C++23だとこれ
std::print("{:+}", x);
173(1): デフォルトの名無しさん (ワッチョイ 6ecf-CdjJ) [sage] 2024/01/15(月) 22:10:56.13 ID:Y8oMeLNI0(4/5) AAS
んでテストケース爆増の話は?処理の具体例次第で話が変わったりするとか?
186(1): デフォルトの名無しさん (ワッチョイ 66cf-5eDQ) [sage] 2024/01/28(日) 12:28:00.13 ID:Gsm093HM0(2/3) AAS
>>183183(6): デフォルトの名無しさん (ワッチョイ 6d63-H5uA) [sage] 2024/01/28(日) 12:13:11.85 ID:W0uCnQb30(3/4) AAS
>>182
>catchしようがしまいが、例外が起きて 処理A→B→return となるのは同じだと思うが。
それは問題の認識がおかいし
例えば以下のコードにおいて、スレッドのゾンビを生じさせないためにはfuncB()をtry { } catch () { } は必須になる。
void bar() {
funcA(); // スレッドxを起動
funcB(); // 中でbaz() → foo()の呼び出し
funcC(); // スレッドxに停止シグナル発酵
funcD(); // スレッドxの終了待ち
return;
}
このように一般に例外が飛んでくる関数にはcatchするかしないかの選択権など無い
例外安全なオブジェクト「だけ」で事が済んでいない限り、例外を受けると決めた時点でcatchせねばならない
一方、例外を生じないライブラリの使い方(関数の呼び出し方)を心掛けるかどうか。これなら選択肢がある
それはcatchが必要かどうかの話だろ。
catchしたらテストケースが増えるかどうかという話とはなんも関係がない。
197: はちみつ餃子◆8X2XSCHEME (ワッチョイ 2a3e-MxBP) [sage] 2024/01/29(月) 12:08:36.13 ID:WXyC0nMC0(1) AAS
スマートポインタを使うにしても std::shared_ptr って必要?
この場合は std::unique_ptr でよくない?
外部リンク:wandbox.org
設計思想によるけどファイルシステムを表現するという前提だと
ひとつのルートディレクトリに連なる全てのエントリは実質的に一体のデータ構造なので
ルートディレクトリエントリの寿命が尽きれば全て解体ってことにしたほうが簡単でいいと思う。
ハードリンクの表現とかも考えるなら事情が変わってくることもあるだろうけど……。
215: デフォルトの名無しさん (JP 0H0b-KLri) [] 2024/02/06(火) 22:36:10.13 ID:pbGHBGq1H(1) AAS
配列を宣言するときの構文と添字演算子を使うときの構文を混同してない?前者はブラケットの中身が正じゃなきゃだめで後者は負でもいいってだけの話だと思うんだけど
int main()
{
int hoge[-1]; // ここで負の値を指定することはできない
hoge[-1]; // でもこれはいい (*((hoge)+(-1)) と解釈される)
}
せっかくだからC++23の仕様書も見てみたけど、§9.3.4.5の1には「配列のサイズはstd::size_t型(に変換された)定数式で、その値は0より大きくなければならない」って書いてあって、§7.6.1.2の2には添字は「スコープ無し列挙型か整数型」て書いてあったよ(該当箇所だけつまみ読みしたから正しく読めてる保証はできないけど)
285(1): デフォルトの名無しさん (ワッチョイ 6fbc-ERL4) [sage] 2024/02/18(日) 00:24:49.13 ID:JX7gxI3D0(1/2) AAS
>>284例外の種類しか頭にないのか
任意の場所での例外発生に対応するなん現実的にできないということ
621: デフォルトの名無しさん (ワッチョイ b701-5W+W) [sage] 2024/12/02(月) 22:30:10.13 ID:6C6t/Sm50(1/2) AAS
>>619619(3): デフォルトの名無しさん (JP 0Hf2-Dj8N) [] 2024/12/02(月) 22:09:00.59 ID:/dQ47H+wH(1/2) AAS
[][]演算子のオーバーロードが欲しい。行列を1次元配列で実装する場合、C++は行主順(行列を行ベクトルの集まりとみなす)。Blas、lapackのライブラリをビルドしたfortran77は列主順(行列を列ベクトルの集まりとみなす)。()演算子のオーバーロードでは、行主順だろうが列主順だろうが、行列Aのi行j列の要素にはA(i,j)とアクセスできるが、列主順の場合には[]演算子のオーバーロードをどうやってもA[j][i]となってしまう。それでeigenは()演算子のみをサポートしている(本当か?)。だが、A(i,j)が添字0から始まるのが気に入らん。添字が0から始まるのはA[i][j]やろうもん。
[][]のオーバーロードがあったらなあ。
O [][]演算子のオーバーロードが欲しい。
O 行列を1次元配列で実装する場合、C++は行主順(行列を行ベクトルの集まりとみなす)。
O Blas、lapackのライブラリをビルドしたfortran77は列主順(行列を列ベクトルの集まりとみなす)。
X ()演算子のオーバーロードでは、行主順だろうが列主順だろうが、行列Aのi行j列の要素にはA(i,j)とアクセスできるが、
X 列主順の場合には[]演算子のオーバーロードをどうやってもA[j][i]となってしまう。
O それでeigenは()演算子のみをサポートしている(本当か?)。
X だが、A(i,j)が添字0から始まるのが気に入らん。
X 添字が0から始まるのはA[i][j]やろうもん。
O [][]のオーバーロードがあったらなあ。
行頭Xで示した文章の意味が良く分からん
691: デフォルトの名無しさん (ワッチョイ fd63-KThN) [sage] 2025/02/18(火) 00:44:49.13 ID:lk7OswCX0(3/3) AAS
しかしよく考えたら
>グローバル変数とは、複数の関数から使用できる変数のことを言います。
には他の関数に参照渡しされた自動変数も含まれるから、アドレスが関数外に流出して
メモリエリアシングの可能性がある変数はみなグローバル変数ということなのかも……
835: デフォルトの名無しさん (ワッチョイ f901-x8Qa) [sage] 2025/04/06(日) 12:33:44.13 ID:KBEItHDk0(1) AAS
override指定子って初めて知ったけども-Wallで警告出るのは俺はやだな
警告が大量に出るソースばかりと思うし
警告出すほどにoverride指定子を付けるべきなのかちょっと疑問
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.044s