クラス名・変数名に迷ったら書き込むスレ。Part21at TECH
クラス名・変数名に迷ったら書き込むスレ。Part21 - 暇つぶし2ch447:デフォルトの名無しさん
12/05/10 13:25:03.44
ありがと。

>>444
型変換くらいならコストも高くないし、変換後の一時変数を持たないってのも確かにアリか…

>>445
すまない、分からなかった。
VBかしら? 元のhogeとどう共存するのか分からないけど、その辺は大丈夫なのかな。

>>446
ほんとに一瞬使うだけなら、それでもいいのかな。型変換したって情報は残らないけど。


448:デフォルトの名無しさん
12/05/11 04:13:27.13
正直、禁止されていてもローカルスコープでは使う

449:445
12/05/11 08:58:39.87
>>447
命名規則にあわせて hogeAsInt や hoge_as_int にして採用してもらうつもりで書いた。

450:デフォルトの名無しさん
12/05/11 10:36:30.91
変数宣言じゃなくて、そういうことかw

451:デフォルトの名無しさん
12/05/11 12:23:04.14
>>449
これいいな
asのおかげで元になるhogeがあるのがわかる

452:デフォルトの名無しさん
12/05/11 12:29:14.18
でもhogeと同値である保証がないなら
毎回変換したほうがバグは少ないかもね

453:デフォルトの名無しさん
12/05/12 09:06:55.49
ハァ?

454:デフォルトの名無しさん
12/05/12 12:09:41.50
DBの列名もここで相談してOK?

455:デフォルトの名無しさん
12/05/12 12:38:08.61
>>452
保証がない変数使って、バグがどうしたって?

456:デフォルトの名無しさん
12/05/12 13:07:08.38
>>454
過去に何度もあった

457:デフォルトの名無しさん
12/05/12 15:16:26.44
その変数が「名前が似てるだけのただのコピー」だと理解してないやつが触ったら
どんなコードに書き換えられるかわからんぞって話

わかんねぇだろうなぁ

458:デフォルトの名無しさん
12/05/12 15:21:51.46
いいよ別にそんなことを議論スレじゃないから

459:デフォルトの名無しさん
12/05/12 15:29:13.12
>>457
> どんなコードに書き換えられるかわからんぞって話

馬鹿が触ればあたりまえ。
まあ、俺の周りには >>457 みたいな馬鹿は居ないからいいけど。

460:デフォルトの名無しさん
12/05/12 16:04:52.78
スレッドセーフとか考えたこともなさそうなお仲間だな

461:デフォルトの名無しさん
12/05/12 16:13:43.28
>>460 が一番難しいと思ってる言葉 = スレッドセーフ (w

462:デフォルトの名無しさん
12/05/12 16:15:17.58
あのな
値をコピーしたあとで別の「スレッド」に元データ書き換えられたらどうするんだっていってんだよ

おまえらほんとレベル低いな

463:デフォルトの名無しさん
12/05/12 16:18:01.88
それスレッドセーフと関係ないし。

お前が言ってるのは、

> 値をコピーしたあとで別の「サブルーチン」で元データ書き換えられたらどうするんだっていってんだよ

と同じ。

馬鹿すぎ。

464:デフォルトの名無しさん
12/05/12 23:07:39.00
>>462 その問題は「毎回変換」したら解決するものじゃないよね。

465:デフォルトの名無しさん
12/05/13 21:37:28.84
class HogeHolder {
 int hoge

 void Do() {
  VerifyString(IntToString(this->hoge)) // ①
  LogOutputString(IntToString(this->hoge)) // ②
  DrawString(IntToString(this->hoge)) // ③
 }
}

条件: 関数①・②・③の引数として同じ値を渡す
イベント: 途中でthis->hogeが別スレッドに書き換えられる
イベントの発生により、条件が保てなくなる

void Do() {
 Thread.Lock()
 const string sHoge(IntToString(this->hoge)
 Thread.Unlock()

 VerifyString(IntToString(sHoge))
 LogOutputString(IntToString(sHoge))
 DrawString(IntToString(sHoge))
}

こうすることでイベントが発生しても条件が保てる
で、上記の変数sHogeの命名規則が今の課題

466:デフォルトの名無しさん
12/05/13 21:46:05.33
修正: 引数としてthis->hogeのコピーを渡すだろうし、Thread.Lock()とかは余計だった

>>452
>>1
あとスレタイ

467:デフォルトの名無しさん
12/05/14 00:02:02.37
あ、まだ間違えてる。
二つ目のDo関数は

void Do() {
 // Thread.Lock()
 const string sHoge(IntToString(this->hoge)
 // Thread.Unlock()

 VerifyString(sHoge)
 LogOutputString(sHoge)
 DrawString(sHoge)
}

だな


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch