[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 01/09 03:49 / Filesize : 255 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【初心者歓迎】C/C++室 Ver.72【環境依存OK】



1 名前:デフォルトの名無しさん [2010/03/05(金) 16:51:13 ]
エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。
※sage禁止です(と代々スレに書いてありますが自己判断で)。

【前スレ】
【初心者歓迎】C/C++室 Ver.71【環境依存OK】
pc12.2ch.net/test/read.cgi/tech/1264774545/

【アップローダー】(質問が長い時はココ使うと便利)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
codepad.org/ (コンパイルもできるし出力結果も得られるのでお勧め)

◆ソースのインデントについて
半角空白やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのも手ですが直接貼る場合は、
全角空白か に置換すると見栄えだけはよくなります。


669 名前:デフォルトの名無しさん mailto:sage [2010/05/02(日) 22:41:53 ]
グローバルデータをローカルに移し持たないという縛りもあるな

670 名前:デフォルトの名無しさん mailto:sage [2010/05/02(日) 23:40:33 ]
要約すると、マルチスレッドについてちゃんと勉強してから使ってね

671 名前:665 mailto:sage [2010/05/03(月) 11:58:08 ]
>>666-670
thx

672 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 13:04:33 ]
メンバ変数とローカル変数の区別が付けにくいのですが、
お前らはどうしていますか?

673 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 13:06:30 ]
class hoge { int m_value; };

class fuga { int value_; };

class piyo { int value; void func(void) { this->value; } };



674 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 13:09:51 ]
this->厨は滅ぶべき
単純な構造体は除くが

675 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 13:10:27 ]
>>672
int mVariable; メンバー
int aVariable; 自動変数
int cVariable; 定数
int rVariable; 参照



676 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 13:12:14 ]
class widget { int value; void method(void) { widget &self = *this; self.value = 1; } };

677 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 13:16:54 ]
>>975
引数は?
自動変数のconst参照は?
static constメンバは?



678 名前:672 mailto:sage [2010/05/03(月) 13:22:46 ]
大体の人が同じみたいですね
ありがとうございます

679 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 14:24:39 ]
#typpedef longPointerConstInto


680 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 20:24:57 ]
namespace Test
{
class Hoge;
}
ヘッダファイルにこれしか書いていないんですけど、何がしたいんですか?


681 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 20:27:54 ]
pc12.2ch.net/test/read.cgi/tech/1271591488/502-

682 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 20:39:29 ]
コンパイラにこんなヤツがいるよって教えてるだけです

683 名前:680 mailto:sage [2010/05/03(月) 20:56:44 ]
>>682
thx

684 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 09:57:42 ]
ポインタの配列はどうしますか?
思いつく限りで↓

int* pVar[10];
int* pTblVar[10];
int* ppVar[10];
int* pVarTbl[10];
int* TblPVar[10];

685 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 10:08:10 ]
int* vals[10];

686 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 11:37:52 ]
ポインタにpを付けた所で
特別分かりやすくなるわけでもない
そんなの気にして命名しなくてもいいよ

687 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 12:18:07 ]
pがないと,ドット演算子使うかアロー演算子使うか迷うじゃないですか.



688 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 12:20:58 ]
地味にそれはある。IDE使ってる身分で言えば迷う事も無いけど、
テキストエディタで作業する時は地味に頼りにする

689 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 12:23:16 ]
迷わねーよどんだけスコープ広くしてんだよ

690 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 12:25:48 ]
どんだけ小規模なコード書いてんだよ

691 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 12:28:04 ]
変数のスコープと規模は関係ねーだろ工夫しろ

692 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 12:30:50 ]
型名が変数名に含まれていないと型が分からないじゃないですか
とか言ってシステムハンガリアンになりそうだな

693 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 12:33:40 ]
LPDIRECTX9DEVICE dev;
これってポインタかそうでないか



694 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 12:35:35 ]
IDirect3DDevice9 * device;

com とか全部に p 付けるのはめんどくさい

695 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 12:38:29 ]
そんな訳でtypedefして型名に LP と付けました。
名前に書かれてるとわかりやすいですネ

696 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 12:39:30 ]
nearポインタって組み込みとかだと
現役だったりするの?

697 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 12:40:19 ]
CComPtr<IDirect3DTexture9> texture;
std::vector<CComPtr<IDirect3DTexture9>> textures;

これをpTexture、pTextureArrayとかにするのは嫌だ



698 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 12:49:14 ]
おそらくVisualStudioしか使わない人がp付けないんだろうな

イニシャライザリストでもNULLに初期化かどうかで迷うし

699 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 12:53:19 ]
俺システムハンガリアンじゃないけど、pくらいは付けるわ。
あとは特にprivate空間でとか割りと気楽に付けられる変数名は臨機応変。


700 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 12:56:40 ]
>>698
emacs使いだけどpなんてつけないな。
ポインタかどうかに限らず、初期化リストで値突っ込むときは型見るだろ。

701 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 12:57:01 ]
GCCで書いててもpは付けねーわ。

702 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 12:58:45 ]
gccにエディタなんてあるの?

703 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 13:01:32 ]
標準入力からソース打ち込んでるんだろ

704 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 13:05:08 ]
strcpyを使って配列を初期化するコードはあんまりよろしくないんですか?

705 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 13:08:01 ]
intの配列とかだとよろしくないだろうな、とか言って


706 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 13:12:40 ]
もちろん文字列ですよ^^

707 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 13:44:12 ]
>>704 なぜよろしくないと思った(あるいは見た、聞いた?)のか?



708 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 15:12:22 ]
VC2005以降は警告出るしな
出力先の配列サイズをチェックしない関数で危険だから
safe関数使えって

709 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 15:17:15 ]
>>688>>690
引数、ローカル変数、メンバ変数くらいしか確認する必要ないし
普通初めて使う変数の型くらい確認するだろ

>>693>>694
ATL使えでFA
スマポなしでプログラムしてるのが悪い

>>698
初期化リストに突っ込むときは基本的に変数を作る時だから
自分で型分かってるだろ

710 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 15:26:42 ]
>>709 は是が非でもp付けるのは認めないとする使いづらいPGの典型

>普通初めて使う変数の型くらい確認するだろ
だから、初めて使う時以外、その変数は使わないのかってww
全部型覚えとくの?それとも使うたびに毎回確認するの?p って付いてるだけで一手間減るなら別にいいじゃない


711 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 15:30:45 ]
どちらにしろ久しぶりに使うコードなら型を確認するだろう
型も分からない変数を扱おうとする人の気が知れない

712 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 15:34:13 ]
コンパイラがチェックするのにpとか無意味。pが正しいかどうか保障できないし、結局確認しなけりゃならない。
C++でポインタ使うのはライブラリの中だけだし

713 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 15:35:42 ]
関数の戻り値がポインタだからって関数名の先頭にp付けてるか?
関数の定義を見なくても引数のどれがポインタなのか分かるように関数名を修飾してるのか?
そもそもポインタかどうか以外にも確認すべき事はあるんじゃないか?
ポインタかどうかだけ分かっても仕方が無いんじゃないか?
ポインタ止めて参照にした時変数名変えるのか?
ってこと

714 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 15:36:47 ]
そうか毎回コンパイラにチェックさせて書き直せばいいのか
そう考えたらIDEって便利だよな。 どれだけ適当でも行ける

715 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 15:38:15 ]
どうせ毎回一発でコンパイル通る事ないしな

716 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 15:40:10 ]
>>713
少なくともポインタ止めて参照に変えるようなケースなら
そのタイミングでむしろ変数名変えたっていいんじゃね?
とりあえずおちつけ

717 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 15:58:28 ]
好みだとは思うけど

・どうせ変数の型は使うときに確認する
・名前の変え忘れが多い(ポインタじゃないのにpつける、ポインタじゃなくなったのにpのまま)

っていう実務上の教訓から、うちの会社はpつけんな、っていうコーディング規約になってるよ。
特にインテリセンスに慣れた輩は、変数名の記述ミス、スペルミスがあっても平気で放置するしな。



718 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 16:02:27 ]
ポインタかどうか迷うぐらい曖昧だと変数名にpがついてたかどうかもわかんねーんじゃ?
読むだけならヒントにはなるかもね〜程度に考えた方がいい
そして読むだけなら周辺をチラ見すりゃポインタかどうかの判断ぐらいすぐつく

719 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 16:05:46 ]
Hoge hoge;
Hoge hoges[num];
Hoge *hoge = new Hoge();
Hoge *hoges = new Hoge[num];
shared_ptr<Hoge> hoge;
vector<shared_ptr<Hoge>> hoges;

p つけると配列なのかそうでないのかとか
変数名の命名に困る

720 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 16:09:54 ]
C++だとtemplateがあるからなぁ
名前付ける時点で型がわからないかもしれないじゃん
そういう時はpの人はどうしてるの?

721 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 16:34:29 ]
>>719
C++で今時生ポは無いだろう。

722 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 16:36:27 ]
あるよ…

723 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 16:40:14 ]
必要ないところで汎用のスマポ使う奴は雑魚

724 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 17:00:23 ]
>>721
今のC++でも普通に生ポは使うだろう。
俺はshared_ptr愛用するけども。


725 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 17:03:13 ]
ポインタ扱うところはさっさとclass内に隠蔽しちゃうけど

726 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 17:03:26 ]
配列を渡す所全部テンプレートかvectorにするのは流石に厳しいな

727 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 17:04:18 ]
>>721は知らず識らず循環参照してそう



728 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 17:06:55 ]
>>721 は最近スマポを勉強したばかりなので許してあげてください


729 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 21:49:29 ]
生ポはスマポより軽いですよ

スマポなんて,絶対つかっちゃだめ

730 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 21:54:39 ]
結局どっちなんだYO

731 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 22:05:24 ]
共有するならshared_ptr
しないなら状況に最適化されたスマポを自作
カプセル化された環境で管理しきれるなら生ポ

732 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 22:07:01 ]
とりあえず生ポはクラスのメンバでなら持ってるな
デストラクタで廃棄

733 名前:急にごめんなさい。。。 [2010/05/04(火) 22:10:50 ]
大学2年です。もう1時間半苦戦しています。教えてください。

構造体を使い、メンバー変数に氏名、所属コース、出身高校を持つものを作成し
キーボードからこれらの変数を入力し、出力するプログラムを作成しなさい。

という実習課題がでたのですが自分が作成したプログラムでは
セグメンテーション違反です
と表示されるばかりで。。。
教えてください。どこがおかしいのでしょうか?
#include<stdio.h>

struct profile{
char *Name;
char *Course;
char *Koukou;
};
int main(void){
struct profile seito1 ;
printf("氏名を入力してください。\n");
scanf("%s",&seito1.Name);
printf("所属コースを入力してください。\n");
scanf("%s",&seito1.Course);
printf("出身高校を入力してください。\n");
scanf("%s",&seito1.Koukou);
printf("氏名:%s\n",seito1.Name);
printf("所属コース:%s\n",seito1.Course);
printf("出身高校:%s\n",seito1.Koukou);
return 0;
}

734 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 22:17:13 ]
いい気になりやがって。何でもかんでも&つけりゃいいと思うなよ

735 名前:デフォルトの名無しさん [2010/05/04(火) 22:17:54 ]
とりあえず徹夜しろ。

736 名前:急にごめんなさい。。。 [2010/05/04(火) 22:19:56 ]
&をつけてもつけなくても
セグメンテーション違反です。と表示されます。。。

どこを変えればいいんでしょうか?

737 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 22:20:21 ]
>>733
char Name[100]; //保存場所が無い。

scanf("%s",seito1.Name) //配列はポインタとして使える



738 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 22:22:58 ]
>>736
入力された文字列のデータはどこに格納してるつもりだい

739 名前:急にごめんなさい。。。 [2010/05/04(火) 22:26:27 ]
>>737
できました!!!ありがとうございます。

740 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 22:27:45 ]
>>734
リアルゆとりにそんなこというなよ
>>733は低脳日本人が生み出した超すごい世代なんだから

>>733 ゆとりだから質問するスレが分らないのはしょうがないけど、普通は
pc12.2ch.net/test/read.cgi/tech/1269438098/l50
で宿題関連は質問する。次回からそこで質問汁

741 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 01:01:51 ]
ポインタについて、*tに文字列を関数内で入れたいのですが、
下記のようにすると、ビルドは成功するのですが
実行時に"The variable 't' is being used without being defined"
というエラーメッセージが出ます。
関数test(t)で*tに文字列を入れるにはどうしたらいいでしょうか。
教えてください。

int main(int argc, char *argv[])
{
  char *t;
  test(t);
  cout << t << endl;
  return EXIT_SUCCESS;
}

void test(char *t)
{
  t = new char[100];
  int i = 0;
  cout << "step1" << endl;
  t[i++] = 'a';
  t[i++] = '\0';
}

742 名前:741 mailto:sage [2010/05/05(水) 01:09:57 ]
pc12.2ch.net/test/read.cgi/tech/1269438098/l50
で質問しました。

743 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 01:18:04 ]
>>741
void test(char *t)
これはポインタを値渡ししてるからポインタを引数で返すことはできない
ポインタを返すにはポインタのポインタ
void test(char **t)
にしなければならない
後は自分で治して

744 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 01:31:13 ]
こっちにも貼っとくわ

int main(int argc, char *argv[])
{
  char *t;
  test(t);
  cout << t << endl;
  return EXIT_SUCCESS;
}

void test(char *&t)
{
  t = new char[100];
  int i = 0;
  cout << "step1" << endl;
  t[i++] = 'a';
  t[i++] = '\0';
}

745 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 01:32:30 ]
>>741
つ void test(char* &t)





746 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 01:34:56 ]
>>744
ポンタポンタ版もよろ

747 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 01:56:40 ]
>>746

int main(int argc, char *argv[])
{
  char *t;
  test(&t);
  cout << t << endl;
  return EXIT_SUCCESS;
}

void test(char **t)
{
  *t = new char[100];
  int i = 0;
  cout << "step1" << endl;
  (*t)[i++] = 'a';
  (*t)[i++] = '\0';
}



748 名前:741 mailto:sage [2010/05/05(水) 02:04:30 ]
>>743-747
アドレス版(*&t)とポインタポインタ版(**t)共に
ビルドと実行がうまくいきました。
本当にありがとうございました。

いと難しいこと限りなし

749 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 03:42:08 ]
strncpyに関しての質問ですが,
実装が↓みたいな感じで
かなり定型的で面倒なのですが,
こういうものなのでしょうか.
というより,もっと簡便な方法があったりするでしょうか?

char dst[256];
memset( dst, 0, sizeof( dst ) );
strncpy( dst, src, sizeof( dst ) / sizeof( char ) - 1 );

750 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 04:00:42 ]
俺ならこうする

char dst[256];
int len = strlen(src);
if (len >= sizeof(dst)) {
 len = sizeof(dst) - 1;
}
memcpy(dst, src, len);
dst[len] = '\0';

か、
こうする

sprintf(dst, "%.*s", sizeof(dst)-1, src));

751 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 04:02:20 ]
所詮Cは高級アセンブラなのです。
マクロ使うぐらいじゃないかなぁ。 あとそのコードだとmemsetはいらないと思うけど。

Better CとしてのC++に移行するとちょっと楽になるよ。

752 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 04:11:46 ]
C++でもSTL使えない環境だったらおなじですよね.

あとmemsetはdstの最後に終端文字を付けてるんですね.

753 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 04:18:39 ]
STLも使えないような糞組み込み環境なら贅沢言わないでCで書いてろよ……

754 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 07:05:54 ]
>>749
「定型的」ってことは、文字列を入れる配列は「とりあえず0クリア」
みたいに思ってるのかね。
文字列の後ろはゴミを入れたままでいいよ。

755 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 07:53:56 ]
>>732
他のメンバがあったりしてコンストラクタから例外が飛ぶと漏れることがあるから気をつけろよ。

756 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 08:55:01 ]
cFunc::cFunc(HWND hWnd, bool tyui, int width, int height)
{
    //初期化メンバ関数
    this->init(hWnd, tyui, width, height);
}

C++の勉強をしていたのですが、とあるソースのコンストラクタの中に以上のような記述がありました
クラスの中で、コンストラクタとは別に初期化用関数を作るメリットなどがありましたら教えて頂きたいです

757 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 09:12:25 ]
他のコンストラクタや
コンストラクタ以外でも init() を使える



758 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 09:13:54 ]
>>756
引数違いのコンストラクタが複数ある場合には必須だとか
デフォルトコンストラクタを定義したいとか
色々あるだろうけど、this->厨は爆発すればいいと思う。

759 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 09:27:12 ]
>>757-758
参考になりました。ありがとうございます。

ちなみに「this->」は何が問題なのでしょうか・・・?

760 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 09:34:17 ]
this->厨厨は基地外だから触らなくていいよ

761 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 10:49:16 ]
>>754
とりあえず0クリアがコーディング規約になってる場合もあるからなあ
でも char dst[256] = ""; だけで0クリアできるんだけどね
配列の初期化では、初期化を行っている場合、値の指定されていない要素は0で初期化される
(明示的に初期化していない場合は実際に何も初期化されないので、とりあえず何かで初期化する必要はある)

762 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 10:52:16 ]
this->はインテリセンスが効いて便利と言う人もいるが
純粋にキモい

763 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 12:42:39 ]
ゼロ終端さえあればあとはゴミだらけでもいい
でも例えばその文字配列を丸ごとどこかファイルに永続化するような場合には、
予めそこにゴミが残ってる事もわかった上で使わないといけない
気にするべきポイントなんてそんなもん

764 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 12:53:34 ]
ファイルに文字列、文字列のペアを保存して読み書きしたいのですが
今やってるのは
・keyの長さ(4 byte)
・valueの長さ(4 byte)
・key (x byte)
・value (y byte)
を1つのデータと見て
データの長さを読む→keyとvalueを読む→次のデータの長さを読む→・・・
といった感じで先頭から繰り返して欲しいkeyに対応するvalueをメモリに読み込みます
ですがこれだと死ぬほど遅いので効率をよくしたいです
なにか典型的な解決方法とかってありますか?

765 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 12:58:42 ]
this厨 = インテリセンス厨
ってか.

766 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 12:59:12 ]
>>764
まとめてメモリに読み込んでから処理する。

767 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 12:59:52 ]
>>764 コード晒せ。



768 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 13:02:30 ]
>>764
メモリに読んでから構造体(POD型)で取り出しちゃう


769 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 13:03:12 ]
うろ覚えなんですが,構造体のコンストラクタで
memset( this, 0, sizeof( this ) );
とすると良くないという話を前に聞いたんですが,
どこが良くないか
ご意見頂けませんでしょうか.






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<255KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef