Sabitlenmiş Tweet
夜糸
77.4K posts

夜糸
@yaito3014
C++初心者 干し芋:https://t.co/iJYXeZKIIN 共有干し芋:https://t.co/gqWntl3VXl Booth干し芋:https://t.co/cjp5XkvW1J AtCoder : kakeyamay VRC : yaito3014
2次元以上4次元以下のどっか Katılım Ağustos 2017
1.2K Takip Edilen1.4K Takipçiler

int arr[10];
int* p = arr; // 配列はポインタ ヨシッ
printf("%zu\n", sizeof(arr)); // 4x10 で 40 ヨシッ
printf("%zu\n", sizeof(p)); // 8 !!
かりやみつらない 3042798775655@kariya_mitsuru
C 言語は簡単なので皆さん完全に理解してますね(?
日本語

@yaito3014 C と C++ で未定義かどうかの違いがあるのもややこしいですよね。
よく話題にしてるこれも C と C++ で違う例ですよね。
int a, b;
// C: 未定義, C++: 未規定
int c = &a < &b;
日本語

ぱっと出てくる例では dlsym で関数の動的ロードをするのに必要になる void * → 関数ポインタ変換。
かりやみつらない 3042798775655@kariya_mitsuru
規格では(処理系定義ですらなく)未定義だけどこの処理系ではこう定義されてる、とかありそう…
日本語

C、アドレス定数式 ± 整数定数式 は定数式として扱われるのに 整数定数式 - アドレス定数式 は定数式として扱ってくれないんかーい
> lvalue designating an object of static storage duration or a function designator, converted to a pointer either
en.cppreference.com/w/c/language/c…
日本語

@minagi_yu 後者は C だけだと難しいですが、前者ならビルドシステムに任せるのがいいと思います。Makefile を直接書いたり CMake を書いたりなど…
日本語

@minagi_yu ちなみに「生成なしで」は手元で別途コマンドを走らせるのが面倒、みたいなところから来ていますか?
単純に in-source で書きたいという話ですか?
日本語

@minagi_yu C言語ではそもそも constexpr がまだオブジェクトの定義にしか使えないので難しそうですね…
配列を constexpr で定義すること自体はできるはずです
日本語




