忍者ブログ
  • 2024.04
  • 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
  • 2024.06
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【2024/05/04 02:16 】 |
ポインタを保存する構造体って・・・
 クラス間のアクセスの方法についてはえらく悩むところだ。
パチスロ制作にも言えるところだが、実はリールコントローラにprivateの形でリールのインスタンスを入れているが、これに入賞時のリール制御クラスでアクセスしたいと思っている。しかしながら、これには3つの方法がある。
1 CCtrlReelへのポインタを取得し、CCtrlReelからリール操作を行う
2 CCtrlReelにfriendを入れてリール制御クラスからのprivateアクセスを行う。
3 CCtrlReelとリールのポインタを取得し、privateアクセスを行う。

  私はまず1を除外しようと思った。手間がかかりすぎる。
なによりリールコントローラが肥大化するのはシステム全体に悪影響を与えるからだ。
次に、悩んだが2を消去法で消すことにした。friendは嫌いだ。privateにアクセスさせるなんて冗談ではない。
クラス全体をデバッグするなんて冗談ではない。

  そのため、結局は3にすることにしたのだが、さて悩んだのはポインタを包む構造体の名前だ。
同種のポインタが二つもあるのにまとめないことはよくない。

さて、どうしようか。
tagPtCtrlReel? ・・・ひどい名前だ。
HandleCtrlReel・・・ハンドルではない。論外。
PtCtrlReel・・・まぎらわしい。二つあるんだから。
AccessCtrlReel・・・長いよ!!!

いやー。どうしような。
PR
【2011/07/19 05:52 】 | C++ | コメント(1) | トラックバック()
char -> std::stringの変換2
寝ぼけから覚めたよ。ああ。

std::string tmp(1,p);
これでいいんだ。ああ。
さて、寝よ。

ああ、そうそう。
この方法だとp==\0だとtmp.length()で1を返すから気をつけてくれ。
あえて\0を警戒するようならこうすればいい。
std::string tmp(1,p);
tmp = tmp.c_str();
一応私がテストしたところこれでゴミはとれる。

しかし、c++のchar->std::string変換は嘘が多いな。
ほかのサイトでいくつもコンパイルできなくて癪に障ったよ。
せめてテストぐらいしろっての。イラッ☆
眠気で語調が乱れてるがもう寝る。おやすm
【2011/01/09 07:21 】 | C++ | コメント(0) | トラックバック()
char -> std::stringの変換
ああ、面倒くさいから俺はやっちまったぜ。
c++の迷問 charとstd::stringの変換をよぉ……

std::string ctos(char c){
    char a[2];
    a[0] = c;
    a[1] = '\n';
    return a;
}

うん。なんかいい方法があるかもしれんが、もういい。
俺は寝る。

【2011/01/09 06:56 】 | C++ | コメント(0) | トラックバック()
| ホーム |