アカウント名:
パスワード:
ネストに対応していないというより、グローバル変数や static な変数の初期化に、(例え static constでも)変数が使えない感じですかね。
初期化関数をヘッダに持つ方法で、static inline としておくと、私の環境では、gccで警告はでないです(理由は知らない)。ちなみに、初期化関数って、こういうのでいいですか?static inline EtSnapContext EtSnapContextDefault(void){ return (EtSnapContext){.is_snap_for_grid=1};}
自分なら malloc して使う前提の構造体なら、ヘッダに et_snap_context*et_snap_context_new(void);とか宣言して、.cにメモリ確
> static inlineinlineにそんな効果があるということなのでしょうか。少し謎ですね。
> mallocして使うならメモリ確保して使う構造体の場合は、私も確保&初期化関数を書いています。ただ、すべてをそうしてしまうと、開放の管理が大変なので、中規模なデータ等、可能であれば関数ローカル変数として作ったり、値渡しを利用することが多いです。
> 初期値の一覧性せいぜい一箇所でしか初期化しない、そこに初期値を書けばいい、という場合はけっこう多いといえば多いのですが、そうでない場合もあったりするのです。例えば、SVGオブジェクトの初期色は、SVGパーサ中にまあまあ出て来るようです。色情報の構造体は、真面目にやるとRGBだけの単純構造では不十分で、構造体入りの構造体が欲しくなります。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs
ネストに対応していないというより (スコア:2)
ネストに対応していないというより、グローバル変数や static な変数の初期化に、(例え static constでも)変数が使えない感じですかね。
初期化関数をヘッダに持つ方法で、static inline としておくと、私の環境では、gccで警告はでないです(理由は知らない)。
ちなみに、初期化関数って、こういうのでいいですか?
static inline EtSnapContext EtSnapContextDefault(void){
return (EtSnapContext){.is_snap_for_grid=1};
}
自分なら malloc して使う前提の構造体なら、ヘッダに et_snap_context*et_snap_context_new(void);とか宣言して、.cにメモリ確
svn-init() {
svnadmin create .svnrepo
svn checkout file://$PWD/.svnrepo .
}
Re:ネストに対応していないというより (スコア:2)
> static inline
inlineにそんな効果があるということなのでしょうか。少し謎ですね。
> mallocして使うなら
メモリ確保して使う構造体の場合は、私も確保&初期化関数を書いています。
ただ、すべてをそうしてしまうと、開放の管理が大変なので、中規模なデータ等、可能であれば関数ローカル変数として作ったり、値渡しを利用することが多いです。
> 初期値の一覧性
せいぜい一箇所でしか初期化しない、そこに初期値を書けばいい、という場合はけっこう多いといえば多いのですが、そうでない場合もあったりするのです。
例えば、SVGオブジェクトの初期色は、SVGパーサ中にまあまあ出て来るようです。色情報の構造体は、真面目にやるとRGBだけの単純構造では不十分で、構造体入りの構造体が欲しくなります。