[過去ログ] C++相談室 part165 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
146: デフォルトの名無しさん (スッップ Sd9f-d+nK) [sage] 2024/01/12(金) 01:18:38.26 ID:P05ikaaEd(1) AAS
例外処理って、メモリ破壊やファイルシステム破壊みたいな絶望的な状況を想定しなきゃいけないんだよ。
ファイルに何か書き込んだら他のファイルを壊しちゃうかもしれない、みたいな。

だからファイル関連の操作をしていいのは、ファイルシステム周りの無事を確信できるときだけ。
データを上書き保存とかしていいのは、データとファイルシステム両方の無事を確信できるときだけ。
何も確信できないときは、何もせずに墜ちなきゃいけない。

ってことで例外機構はデフォルトで何もせずに異常終了するようになってるんだよ。
211: デフォルトの名無しさん (オイコラミネオ MMeb-tjaG) [sage] 2024/02/06(火) 20:47:53.26 ID:WnlTLfV5M(2/2) AAS
何がいいたいかと言えば、32BIT環境だと
符号付き整数の最大値は、
0x7fff_ffff ですから、
char a[0x7fff_ffff];
は合法ですが、
char a[0xffff_ffff];
はエラーです。よって、
char a[-1];
はコンパイラは難しい処理をしなくても、
-1 は内部表現が 0xffff_ffff ですので
そもそも範囲外の数値と見なせます。
ところが、もし、配列最大数が unsigned
の領域まで許されるならば、要素数が
0xffff_ffff の配列も合法だということに
なります。
ならば、要素数の[] の中に-1 を指定した
場合の処理は難しくなりそうだ、ということです。
なおそもそも、32BIT の Windows 環境
だと、ユーザーが使えるアドレス空間は
最大で 0x7fff_ffff 程度までですから、
バイト数的に確保は出来ませんが。
ならば、そもそも、C++がunsigned 型
であるところの、size_t を採用しているもの
なかなか不可思議であります。
320: デフォルトの名無しさん (ワッチョイ 7b10-qE2a) [sage] 2024/04/09(火) 22:00:45.26 ID:5hAg3cgl0(1) AAS
>>317
317(2): デフォルトの名無しさん (ワッチョイ c3c9-hAMa) [sage] 2024/04/09(火) 20:10:25.18 ID:T/amOWJO0(1) AAS
とあるtemplateの関数を実装しているのですが、
const指定の振る舞いがよくわからなくなったので
質問させてください。

以下の(だいぶ簡略化した)コードで、
f_without_const<const int*>(const int* a)
はコンパイルが通るのですが
f_with_const<int*>(const int* a)
がコンパイルが通らないのは何故でしょうか。

外部リンク:wandbox.org
template <class T> void f_with_const (const T t);
これに対応させるなら f_with_const<int*>(int *const a)
407: デフォルトの名無しさん (ワッチョイ 7f78-/FHh) [] 2024/08/24(土) 09:23:02.26 ID:yYuYqoCz0(3/6) AAS
y=xのときは忘れてください。(f(complex<T>& y, const T& x)とすればいいだけ)。どういう状況のためにconceptが必要なのか要点がまとまっていませんね。失礼しました。
617: デフォルトの名無しさん (JP 0Hf2-Dj8N) [] 2024/12/01(日) 20:32:06.26 ID:IuCKzQHfH(5/6) AAS
>>616
616(2): はちみつ餃子◆8X2XSCHEME (ワッチョイ bd32-mEgI) [sage] 2024/12/01(日) 20:25:56.70 ID:rI1+OlKH0(2/2) AAS
>>615
テンプレート内でグローバル変数にアクセスする箇所があるってこと?
それなら今はインライン変数を使うのが便利で行儀の良い作法のひとつだと考えられている。
インライン変数は C++17 からの機能なのでそれより古い規格しか使えないような事情があるなら仕方ないんだけど……

ありがとうございます。調べてみます。
ちなみに、>>615
615(2): デフォルトの名無しさん (JP 0Hf2-Dj8N) [] 2024/12/01(日) 19:34:57.34 ID:IuCKzQHfH(4/6) AAS
テンプレートにすると(implテクニックを使わなければ)、定義も実装も同じファイルに書かなければならないからそれが原因かなあ。とりあえず、厄介なLINKエラーは除霊されました。
定義も実装も → 宣言も定義も ええいくそっ! まーた間違えた
779
(1): デフォルトの名無しさん (ワッチョイ ed7c-etgo) [sage] 2025/03/23(日) 00:19:16.26 ID:YXTjT4M+0(1/2) AAS
通ったが?
外部リンク:godbolt.org
873: デフォルトの名無しさん (オイコラミネオ MM95-exh5) [sage] 2025/04/11(金) 20:47:02.26 ID:qqgfnt32M(10/17) AAS
誰と勘違いしてるんだよ
普段はこのスレに書いてない
>>46
46(1): デフォルトの名無しさん (オイコラミネオ MM49-wdyj) [sage] 2023/11/09(木) 19:13:19.18 ID:RZ9WOZDMM(1) AAS
エラーメッセージにヒントはない?
が自分だ
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.042s