忍者ブログ

粘土小屋

ネトゲとプログラムのブログ
2024
04,27

«[PR]»

×

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

2010
05,24

«1日»

assert(false)
よりは

assert(0)
の方が個人的には奇麗だと思っています。

しかし代わって
while(1)
よりも

while(true)
の方がなんとなくきれいな気がします。

false == 0 ですが
true == 1 とも限らないという所が
関連しているのかなと思います。
PR
2010
05,23

«4日»

2回deleteはデバッグエラーになりますよね。

しかしそのポインタがnewされているかどうかがわからないけども
deleteしたい場合というのは有ると思うのですが

newとdeleteは対となっているべき等と
よく言われています。

上の例の場合、
それをやろうとするなら

-*- -*-

if(pointer == 0)
{
//ポインタが0ならdeleteしない
}
else
{
delete pointer ;
pointer = 0 ;
}

-*- -*-

こんな構造をマクロか何かで
指定することになると思います。

newとdeleteは対となっているべき
という考え方からすれば、これは悪手な感じがするのですが
どうなんでしょう。
 
-*- -*-

書いた5分後くらいに
「shared_ptrを使えば全て解決する」
ということに気付いてしまいました…。
2010
05,19

«0日»

-*- -*-

#include <memory>
#include <vector>

using namespace std ;

enum eHOGE
{
HOGE_A,
HOGE_B,
HOGE_LAST
}

class A
{
};

int main()
{
vector<tr1::shared_ptr<A>> a ;

//pattern:1
//a.push_back(tr1::shared_ptr<A>(new A(/*HOGE_A*/))) ;
//a.push_back(tr1::shared_ptr<A>(new A(/*HOGE_B*/))) ;

//pattern:2
//a.resize(HOGE_LAST) ;
//a.at(HOGE_A) = tr1::shared_ptr<A>(new A(/*HOGE_A*/)) ;
//a.at(HOGE_B) = tr1::shared_ptr<A>(new A(/*HOGE_B*/)) ;

return 0 ;
}

-*- -*-

そんな場合は望ましくないという突っ込みが有りそうですが、
固定長のvectorを使う場合に、
resizeしてから使うのか、push_backしていくのか
という微妙な疑問がありました。

後それと、

tr1::shared_ptr<class Hoge> 

が非常に長ったらしいので
typedefをするとして、
どういう名前にするかも若干疑問です。

それとそれと、
今回初めてソースらしきものを張ったわけですが、
シンタックスハイライトの仕方がわからないです…。
他のブログだとよく見かけるのですが。
2010
04,02

«2日»

ファイル操作で慣れないせいかかなり手こずっています。 
便利だと思っていた可変長があそこまで扱いにくいとは思いませんでした…。

明日明後日にはセーブロードをなんとか完成させたいです。
2010
03,02

«1日»

進めているプロジェクトの計画を立てようかな?と思いました。

3月中に終わるのかな。

終わって欲しい所です。 

[1] [2] [3]


« 前のページ: HOME
カレンダー
03 2024/04 05
S M T W T F S
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
リンク
最新記事
(05/08)
(09/20)
(09/02)
(08/30)
(08/26)
プロフィール
HN:
粘土男
性別:
男性
自己紹介:
レッドストーン、ルシエルブルー、
アラド戦記、ラテール、エルソード、
ファンタジーアースゼロ、などを
せこせことやっております。
プログラミングは、修練中です。

twitter:@rosukaruklame

Powered by Ninja.blog * TemplateDesign by TMP
忍者ブログ[PR]