トップ «前の日記(2011-12-03) 最新 次の日記(2011-12-10)» 編集

はじめてのにき

ここの位置付け

2004|11|
2005|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|

ToDo:


2011-12-04

_ Re:

http://shinh.skr.jp/m/?date=20111203#c01

goto もいいんですけど、解放するものが複数あると、

 X* x;
 char* filename = (char*)malloc(100);
 if (!filename)
   goto err;
 sprintf(filename, "%s/%s.txt", hoge, fuga);
 x = openX(filename);
 if (!x)
   goto err;
 
 return 0;
err:
 if (x)
   closeX(x);
 free(filename);

みたいに if が増えてくのがちょっとイヤですね… C の方が C++ より遅いみたいなことに。

http://homepage1.nifty.com/herumi/diary/1112.html#3

個人的な感覚では、ある程度のサイズのもので semantics が変わる拡張使うのは許せないかな (unused とかは OK)… と思ってたのですが、僕の個人的な感覚に頼るまでもなく、 コンパイラにかかわるものではダメとのこと。

http://www.gnu.org/prep/standards/standards.html#Using-Extensions

(03:56)

本日のツッコミ(全2件) [ツッコミを入れる]
_ Rui (2011-12-04 08:37)

 if (!filenamxe) goto err1;
 ...
 if (!x) goto err2;
 ...
err2:
 close(x);
err1:
 free(filename);

みたいに確保するのと逆順で解放するコードを末尾に書いてその途中にgotoでジャンプするみたいなコードを見る気がするんですけど。

_ shinh (2011-12-04 16:45)

おお、たしかにそれ見ますね。なんかすっぽり頭から抜け落ちてましたそれでいい気がします…

お名前:
E-mail:
コメント:
人生、宇宙、すべての答え
本日のリンク元

2011年
12月
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
1.shinh(2011-12-29 14:26) 2.Egtra(2011-12-29 12:50) 3.shinh(2011-12-16 12:25)
search / home / index

全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。

shinichiro.hamaji _at_ gmail.com / shinichiro.h