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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
634
(1): 350 (ワッチョイ 9744-3FWJ) [sage] 2024/12/30(月) 01:24:05.36 ID:QjoRUJvQ0(1/2) AAS
>>316
316(2): デフォルトの名無しさん (ワッチョイ 7b32-B3tP) [sage] 2024/04/09(火) 15:22:07.81 ID:hsAXyuRl0(1) AAS
>>313
C++ に配列リテラルはない。
その書き方で出てくる波括弧はリスト初期化の構文の一部で、
波括弧の部分単体は配列リテラルではない。

実行時にオブジェクトの構築を避けるならコンパイル時に構築することになるが
それはそれで色々と制約があるんでほんまにそれが必要なんか?
というのはよく考えないといけない。

あえてやるならこんな感じかな……。
外部リンク:wandbox.org
char name[] = "sazaesan";

これ配列リテラルちゃうの?
nameはポインタだが
dc エリアに sazaesan\0 格納されるだろ
636: はちみつ餃子◆8X2XSCHEME (ワッチョイ 9732-1Vfr) [sage] 2024/12/30(月) 03:22:33.37 ID:vy8OYYFk0(1) AAS
>>634
> これ配列リテラルちゃうの?

文字列リテラルは配列の一種ではあるが、この場合は配列一般を表すリテラルはないという意味。
(C にはコンパウンドリテラルがあるし、一部の処理系では C++ でも使える拡張があるけど。)
初期化子に現れる波括弧が配列リテラルだと誤解しているらしいことについての指摘なので文字列リテラルも配列リテラルだというのは関係がない。

> nameはポインタだが

いいえ。 name は配列。

> dc エリアに sazaesan\0 格納されるだろ

これはリテラルかどうかの話とは関係がない。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.045s