01:42:27 @azyobuzin@mstdn.maud.io
icon

null null terminated string だっけ? a\0b\0\0 みたいな文字列の配列って MarshalAsAttribute で指定できないかなできないよな

01:53:59 @azyobuzin@mstdn.maud.io
icon

const char* の配列を const にするとき、どう書けばいいの? const const char** ?

02:00:04 @azyobuzin@mstdn.maud.io
icon

@ksmakoto 可変長でお願いします!

02:05:20 @azyobuzin@mstdn.maud.io
icon

@ksmakoto あー使いどころにもよるんですね。 struct のメンバーとして、文字列の配列を置きたいという事情です。 struct に置くと [] の中身がないと「不完全な型」と怒られました。 VC++ です。

02:06:08 @azyobuzin@mstdn.maud.io
icon

文字列の配列です。なので一番簡単な書き方だと char**

02:06:57 @azyobuzin@mstdn.maud.io
icon

これの不変版がほしい

02:07:58 @azyobuzin@mstdn.maud.io
icon

@ksmakoto はい。なので、他に要素数を表すフィールドも含めています。

02:08:44 @azyobuzin@mstdn.maud.io
icon

struct X {
int32_t count;
const char** strings; // ← これ
}

02:13:06 @azyobuzin@mstdn.maud.io
icon

コンテナ化されているならば、それを動かすマシンはどこにあってもいいよね → 複数のマシンを集めて(クラスタ)、どっかしらで動かしたいコンテナが動いてる状態にする

02:14:49 @azyobuzin@mstdn.maud.io
icon

@ksmakoto おそらく「配列」が悪かったですね。ポインタです。文字列 char* のポインタ char** について、不変文字列は const char* と書くなら、 const char* の不変ポインタはどう書くのだろう、という疑問です

02:21:59 @azyobuzin@mstdn.maud.io
2019-08-27 02:20:05 tmytの投稿 tmyt@m6n.onsen.tech
icon

このアカウントは、notestockで公開設定になっていません。

02:22:13 @azyobuzin@mstdn.maud.io
icon

どうやってもキモい……

02:25:48 @azyobuzin@mstdn.maud.io
icon

@ksmakoto ありがとうございます! 文法の規則性が全然わからない……

02:34:05 @azyobuzin@mstdn.maud.io
02:38:58 @azyobuzin@mstdn.maud.io
icon

@ksmakoto 「char *argv[]」と書ける場所(引数)と書けない場所(フィールド)がある時点で完全ににゃーん

02:47:59 @azyobuzin@mstdn.maud.io
icon

引数だけ特別扱いなの~~~~~ もうなんやねん