【初心者歓迎】C/C++室 Ver.34【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/01/17(水) 22:16:00ただしその場合、質問者は必ず、環境を書きましょう。
※sageは禁止です。
【前スレ】
【初心者歓迎】C/C++室 Ver.33【環境依存OK】
http://pc10.2ch.net/test/read.cgi/tech/1164376287/
【アップローダー】(質問が長い時はココ使うと便利)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
0153デフォルトの名無しさん
2007/01/24(水) 23:12:450154デフォルトの名無しさん
2007/01/24(水) 23:13:07これってどの程度通用するものなんでしょうか?
どうでもいい代物ではあるのでC_ASSERTだけは置くとして、参考にお聞きしたいです
0155デフォルトの名無しさん
2007/01/24(水) 23:19:27Windows 以外は 4 が主流だろう。
どちらにしても、依存せずに素直に sizeof(wchar_t) 使って書けよ。
0156デフォルトの名無しさん
2007/01/24(水) 23:22:37>Windows 以外は 4 が主流
そうだったんですか
まずいよなぁとは思いつつ書いてたのでちょっと考え直すべきですね
0157デフォルトの名無しさん
2007/01/24(水) 23:37:52UCS2かUCS4かに依存するコードになっているならそう簡単には行くまいよ
sizeof(wchar_t) == 2ならICUのUCharと互換だが、みたいな
0158110
2007/01/25(木) 08:15:08RegisterHotKeyだとスタートメニューが開いてしまうので、
SetWindowsHookExでやりました。
ありがとうございました。
0159デフォルトの名無しさん
2007/01/25(木) 16:43:28smart_ptrを利用しているのですが、例えばクラスのメンバー変数として
class CNantoka
{
smart_ptr<CHoge> hoge;
};
とやる場合、そのクラスの前にCHoge.hをincludeする必要があるようです。
ですがこれだと、CHoge.hが書き換えられる度に、CNantoka.hを読んでいる全てのcppがリコンパイルされてしまいます。
単純なポインタならば
class CHoge;
class CNantoka
{
CHoge* hoge;
};
とやればいいのですが、smart_ptrで同様の手軽さを実現することはできないのでしょうか?
(目的から考えると)CNantokaを使いたい連中に、CHogeの実装を知らせる必要はありません。
メンバーには(後述する構造体への)ポインタだけもたせて、メンバー変数代わりの構造体の定義をCNantoka.cppで行なうという手は一応考えました。
0160デフォルトの名無しさん
2007/01/25(木) 17:06:37class CHoge;
class CNantoka
{
smart_ptr<CHoge> hoge;
};
でいいのでは?そのsmart_ptrにもよるが
0161デフォルトの名無しさん
2007/01/25(木) 17:17:03できました。
というかすいませんでした…。
何故できないと思い込んでいたのかお恥ずかしい限りです。
多分以前試した時は、別の原因のエラーが出てたのを勘違いしたんでしょう。
ありがとうございました。
0162デフォルトの名無しさん
2007/01/25(木) 17:43:22思い込んだ原因がわかりました。
ヘッダファイル内に一部の関数を直書きしていたのですが、そこでsmart_ptr<CHoge>を使っていました。
そりゃあデストラクタが正しく定義できずエラーにもなりますわ…。
0163デフォルトの名無しさん
2007/01/25(木) 19:22:13wcout.imbueとwofstream/wifstreamのimbueがあれば
間に合うような気がするんですが
locale::globale()ってどういう場合に利用するんですか?
0164デフォルトの名無しさん
2007/01/25(木) 19:23:15以下のImplクラスのコンストラクタ・デストラクタ呼び出し結果は未定義ってこと?
struct Abst {
virtual ~Abst() {}
virtual void MemberInit() = 0;
virtual void MemberTerm() = 0;
};
struct Impl : Abst {
Impl() { this->MemberInit(); }
~Impl() { this->MemberTerm(); }
void MemberInit() {}
void MemberTerm() {}
};
0165デフォルトの名無しさん
2007/01/25(木) 19:47:12それぞれImpl::MemberInit(), Impl::MemberTerm()が呼ばれることになってる。
0166デフォルトの名無しさん
2007/01/25(木) 20:08:36日本語も満足に解釈できないのかよ俺
0167デフォルトの名無しさん
2007/01/25(木) 20:22:28スレ違いだったらスンマソン。
class Cfoo
{
int func1( void ){ return 1; }
}foo;
void main( void )
{
vector<Cfoo *> f;
f.push_back( 省略 );//Cfooクラスを継承したクラスを入れる
for_each( f.begin(), f.end(), mem_fun( &Cfoo::func1 ) );
}
上記でCfooのメンバ関数func1の戻り値を取る方法なんぞあれば、教えてください。
(実際、使う場合はメンバ関数が複数個(int func1(void), char func2(void)・・・
)になります)
0168デフォルトの名無しさん
2007/01/25(木) 20:28:17今更だけどこれくらいやればboost::functoinと遜色なく使える。
#include <iostream>
#include <functional>
template<typename T> class MyScopedPtr { //削除子付スマートポインタ
public:
template<typename U> MyScopedPtr(U* p) : p(p), delator(makeDelator<U>) {}
~MyScopedPtr() {delator(p);}
T* Ptr() {return p;} //* ->など演算子は省略
private:
T* p;
void (*delator)(void*);
template<typename U> static void makeDelator(void* p) {delete static_cast<U*>(p);}
MyScopedPtr(const MyScopedPtr&);
MyScopedPtr& operator =(const MyScopedPtr&);
};
template <typename Ret, typename Arg1> class FunctionHolder1 : std::unary_function<Ret, Arg1> {
public:
template<typename FnObj> FunctionHolder1(FnObj f) : obj(new FnObj(f)), pfn(callFunc<FnObj>) {}
Ret operator ()(Arg1 a) {return pfn(obj.Ptr(), a);}
private:
MyScopedPtr<void> obj; //std::tr1::shared_ptrもしくはboost::shared_ptrでも可
Ret (*pfn)(void*, Arg1);
template<typename FnObj> static Ret callFunc(void* p, Arg1 a) {return (*static_cast<FnObj*>(p))(a);}
};
0169デフォルトの名無しさん
2007/01/25(木) 20:29:05struct C_hoge {
void hoge1() {std::cout << "hoge1" << std::endl;}
int hoge2() {std::cout << "hoge2" << std::endl; return 1;}
};
char func1(char x) {return x;}
int main() {
C_hoge hoge;
FunctionHolder1<void, C_hoge> fhv(std::mem_fun_ref(&C_hoge::hoge1)); //boost::function1<void, C_hoge>
FunctionHolder1<int, C_hoge> fhi(std::mem_fun_ref(&C_hoge::hoge2)); //boost::function1<int, C_hoge>
FunctionHolder1<char, char> fhc(std::ptr_fun(func1)); //boost::function1<char, char>
fhv(hoge);
int ret = fhi(hoge);
std::cout << "ret: " << ret << std::endl;
std::cout << "fhc: " << fhc('A') << std::endl;
}
0170デフォルトの名無しさん
2007/01/25(木) 20:30:45std::transform() 使えばいいんじゃね?
0171デフォルトの名無しさん
2007/01/25(木) 20:33:220172167
2007/01/25(木) 21:43:52即レスさんくす。
なんとかがんがったら、望んでいる形に近い状態で
プログラムが動きますた。
ところでfor_eachってループ回り始めたら途中で止めることって
できないですか?
for文のbreakみたいな感じで止めたいんす、、、。
0173デフォルトの名無しさん
2007/01/25(木) 21:54:290174デフォルトの名無しさん
2007/01/25(木) 22:01:55そんなことに例外使うなよ
0175デフォルトの名無しさん
2007/01/25(木) 22:03:33ファイル名が同じで拡張子を変えて保存したい時でも1つずつ指定しないとだめですか?
あと、保存先を別フォルダに指定できますか?
0176デフォルトの名無しさん
2007/01/25(木) 22:09:090177デフォルトの名無しさん
2007/01/25(木) 22:21:00int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow )
{
ChangeWindowMode(TRUE);
if(DxLib_Init()==-1)return(-1);
WaitKey();
DxLib_End();
return(0);
}
ウィンドウのサイズを変更したいのですが
この文のどこに何を入れればいいのでしょうか?
0178デフォルトの名無しさん
2007/01/25(木) 22:25:28イテレータの範囲で表現できない終了条件があるなら、
それはもう標準アルゴリズムじゃないから、おとなしく
自分でループ書け。
0179デフォルトの名無しさん
2007/01/25(木) 22:30:32string filename;
string ext1 = ".dat";
string ext2 = ".lsp";
あとはご自由に
0180デフォルトの名無しさん
2007/01/25(木) 22:32:07自分で停止するバージョンのfor_each書けば?
template <class IT, class FN>
void my_for_each(IT first, IT last, FN func)
{
for(; first != last && func(*first); ++first)
;
}
みたいな感じで
0181デフォルトの名無しさん
2007/01/25(木) 22:42:52リファレンス見ろよー
一応教えるとSetGraphModeね
0182デフォルトの名無しさん
2007/01/25(木) 22:55:23即答ありがとうございます
うまくいきました!
0183デフォルトの名無しさん
2007/01/25(木) 23:30:57std::find_if ?
0184デフォルトの名無しさん
2007/01/25(木) 23:58:24ああ、そういえば本来の目的とは全く違うが、find_ifでいいんだね
やってることほぼ同じだし
0185デフォルトの名無しさん
2007/01/26(金) 00:20:15C++でプログラムを実行したところ,
-1.#IND00 という値が入っている変数がありました.
デバッグのため,値が-1.#IND00 となったらデバッグプリントを表示したいのですが、
どのようにやればよいでしょうか?
環境は.net 2003です。
ちなみに、
float fx = 0.0;
float r;
if(r == -2.0f/fx || r == 2.0f/fx || r == fx/fx || r == -fx/fx){
としてみたところダメでした。
どなたかよろしくお願いします。
0186デフォルトの名無しさん
2007/01/26(金) 00:22:12rは別の計算によって求めたい値が入っているとします。
0187デフォルトの名無しさん
2007/01/26(金) 00:50:21float r = 0.0;
0188デフォルトの名無しさん
2007/01/26(金) 00:57:59レスありがとうございます
説明不足だったと思いますが、実際のプログラムでは当然
float r;
の後に計算を行い結果を格納しています。
このrの値をプリントしたところ,-1.#IND00と表示されるのです・・・
0189デフォルトの名無しさん
2007/01/26(金) 01:01:530190デフォルトの名無しさん
2007/01/26(金) 01:02:0601.#IND00となってる時
int i = reinterpret_cast<int&>(r);
とやってビットパターンをつかめばいいのでわ?
但しこれはx86の32ビットモード限定で。
0191デフォルトの名無しさん
2007/01/26(金) 01:06:22if ((fp = fopen("list.txt", "r")) == NULL){
printf("ファイルのオープンができませんでした。\n");
return 0;
}
fgets(filename,255,fp);
if(filename=="\n"){return 0;}
read(filename,orig);
printf("つづける?(yes=0)=");
scanf("%d",&yes);
}while(yes==0);
ファイルを1行読んで処理を改行文字がくるまで繰り返すプログラムを作ったのですが、
実行するとファイルが開けませんと表示されて終わってしまういます。
読み込むファイル名はちゃんと確認したし、プログラムと同じフォルダに入っています。
どうしたらいいのでしょう?
0192デフォルトの名無しさん
2007/01/26(金) 01:06:34計算する数値が計算途中でオーバーフローしてると思う。
0193デフォルトの名無しさん
2007/01/26(金) 01:10:34ファイルを同時に開ける数に限りがあったはず。
fclose でファイルを閉じるか、fopen をループから出せばいいんじゃね?
0194デフォルトの名無しさん
2007/01/26(金) 01:15:12いまいち何がしたいのかわからんが、文字列の比較はstrcmp (#include<string.h>)を使うといい
if(filename=="\n"){return 0;}
↓
if(strcmp(filename,"\n")==0){return 0;}
0195デフォルトの名無しさん
2007/01/26(金) 01:16:08計算過程は長いのでソースは載せませんが,
怪しそうなところとしては,exp計算がオーバーフロー,
途中の計算に使う変数が値を取得していない時があること等が考えられます。
-1.#IND00やINFなどはif文で分岐させることは難しいのでしょうか???
0196デフォルトの名無しさん
2007/01/26(金) 01:16:55そしてそのXPは最終的にはその機械のソフトでしか立ち上がりません。起動の過程において、XPのデスクトップ画面はでるのですが・・。
その機械のサービス(嫌なタイプの修理屋)に少しPCの知識があれば、コントロールパネルを開けられると言われて開ける過程を見る
暇もなくコンパネを見せられました。
そのソフトの起動中に、そのソフトを絶対に止めることなく、コンパネを開ける方法はどの様にしたらいいのでしょうか?ソフト画面が全画面
になっていてコンパネを見れません。
自己責任において聞いてます。なにか、コンパネは知識がない奴には見れないなんて感じで言われたので開けれないのが悔しいのです。
そして唯コンパネをシステムを変更する事無しに見たいだけなのです。嫌いなタイプのサービスなんかに馬鹿にされたくありません。
なにとぞ、コンピューターにうとい私を2チャンネラーの知識で助けて下さい。宜しくお願いいたします。
0197デフォルトの名無しさん
2007/01/26(金) 01:19:19ループの開始をfgetsの前に変えてみましたが、変わらず「ファイルのオープンができませんでした」出ます。
実行してすぐ1週目でとまってしまいます。
0198デフォルトの名無しさん
2007/01/26(金) 01:20:26まずは落ち着いてスレタイをよく読むように。
初心者歓迎だけに脳髄反射しないように。
0199196
2007/01/26(金) 01:20:460200197
2007/01/26(金) 01:23:59list.txtに処理をしたいファイルの名前が書いてあって、一つ読んではそのファイルを読み込んで処理をしたいんです。
0201デフォルトの名無しさん
2007/01/26(金) 01:27:26責任持てないけどミ田←こんなキーがCtrlとAltに挟まれてあるでしょ。
それを押してみたらどう?
もう一度言うけど責任は持てない。
0203デフォルトの名無しさん
2007/01/26(金) 01:28:52read()という関数の中で、そのファイルをオープンして読んで処理してんだろ?
終わったらそのファイルを閉じろ。
それと、fopen()に失敗したら、
perror()使ってみな。
fopen()はエラーの際に、その理由を示す番号をerrnoにセットする。
perror()を使って、errnoに応じたメッセージを表示することができる。
多分今回のケースでは"Too many open files"のようなメッセージが出力
されるだろう。
0204デフォルトの名無しさん
2007/01/26(金) 01:31:31っ isinf()@math.h
0205デフォルトの名無しさん
2007/01/26(金) 01:31:46君の文章は日本語として滅茶苦茶だし説明能力に非常に問題がある。
現物も見ずに、2chで君のつたない文章から問題を把握し、適切な回答を
出してくれるようなエスパー能力と忍耐力を持つ人は皆無だろう。
というわけで諦めれ。
0206デフォルトの名無しさん
2007/01/26(金) 01:33:16/* do { */
....
/* } */
0207196
2007/01/26(金) 01:38:40コンパネを出すときに、一瞬のキー操作でだしたので、隠れリンクでしょうか?
Alt+F4をやってみましたが、ソフトの終了無しに全く反応しませんでした。
0208デフォルトの名無しさん
2007/01/26(金) 01:38:43Win + Rを押して、出てきたウィンドウに control と打ち込みEnterを押す
0209デフォルトの名無しさん
2007/01/26(金) 01:41:24ちょwwww
日本語の意味が全くわからんぞww
本当に日本人ですか?
0210デフォルトの名無しさん
2007/01/26(金) 01:43:16そのエラーメッセージは read 関数で出されているんじゃないの?
あとファイル名に改行は入れられない
fgets(filename,255,fp);
↓
fgets(filename,255,fp);
if(filename[strlen(filename)-1]=='\n') filename[strlen(filename)-1]='\0';
0211デフォルトの名無しさん
2007/01/26(金) 01:45:10私の文章がどの様におかしいのか説明お願いいたします。
私はおかしくないと自負して読み返しました。
0212デフォルトの名無しさん
2007/01/26(金) 01:47:23自覚が無いのが一番厄介。諦めて帰れ。
0213デフォルトの名無しさん
2007/01/26(金) 01:53:59本当に有り難うございます。明日やってみます。
>>209
あなたは、コンテクストって概念がない人ですね。主語なんて文章の流れで何度も出す物じゃない。
0214デフォルトの名無しさん
2007/01/26(金) 02:01:38あんたの日本語おかしいよ。どうせチャンコロかチョンだろ?
不法滞在すんなよ。
0215デフォルトの名無しさん
2007/01/26(金) 02:03:22自分のPCでもコマンドを打ち込む物が出てきました。本当に有り難う御座います。感謝してます。
本当に有り難うございました。
0216デフォルトの名無しさん
2007/01/26(金) 02:07:17私の特殊な環境でも不思議とコンパネを入れるとできました。
本当に有り難う御座います。
0217デフォルトの名無しさん
2007/01/26(金) 02:08:46この間違った日本語面白いな。
つーか日本は26日だ。明日は27日だぞ。
0218デフォルトの名無しさん
2007/01/26(金) 02:12:38だがそれがいい。
0219デフォルトの名無しさん
2007/01/26(金) 02:17:52185です.
使用しているvcではなぜかmathにisinf()、isnan等が入っていませんでした・・・
しかし,教えていただいたisinfをもとに検索したところ
#define isnan(x) ((x) != (x))
という方法を見つけ、if文で検出することが出来ました。
また何かありましたらよろしくお願いします。
ありがとうございました.
0220私は215であるが、216ではない。
2007/01/26(金) 02:18:22文章の問題で話合いたいなら、文章の何処がおかしいのか言ってくださいよ。
確かに最初の私の文章は、文章に脈絡がなかったですけどね。
0221デフォルトの名無しさん
2007/01/26(金) 02:25:280222デフォルトの名無しさん
2007/01/26(金) 02:32:04素晴らしいレスです
0223デフォルトの名無しさん
2007/01/26(金) 02:38:14もう解決してしまったようだが、VC++だと、
<float.h>に_isnan()が定義されているかもしれない。
0224デフォルトの名無しさん
2007/01/26(金) 03:26:12継承先のクラス宣言部内(class{〜間};)
で親のpublicメソッドが呼べるのですが、
継承先のメソッド内ではAccess Violationエラーが
出て呼べない状況です。
継承の使い方が間違ってるでしょうか?
class B
{
public:
B(){}
~B(){}
virtual void SendData();
virtual void OnRecieve()=0;
};
void B::SendData(){ }
class A : public B
{
public:
A(){ SendData(); } << 正常にSendData()が実行される
~A(){}
virtual void SendData2();
void OnRecieve(){};
};
void A::SendData2(){ SendData(); }
↑
このメソッドコールするとSendData()のところで
Access Violation C0000005
0225デフォルトの名無しさん
2007/01/26(金) 07:30:47それだけ見ると問題ないなぁ。勝手にソースを省かずに、
問題が再現する最小のコンパイルできるコードを作ってみるといい。
0226デフォルトの名無しさん
2007/01/26(金) 09:11:11いっかいフルコンパイルかけてみたら?
# ヘッダ修正したのに、プリコンパイルヘッダ使いやがって、修正前のヘッダ状態でコードはいちゃった とか?
0227デフォルトの名無しさん
2007/01/26(金) 14:15:45どうやればいいでしょうか?
環境はVC2005,WindowsXPです。
0228デフォルトの名無しさん
2007/01/26(金) 14:39:34新規にスタティックライブラリのプロジェクトを作って、そこにソース&ヘッダをコピペしたほうが早いかも。
そこから、
DllMain周りの初期化/後始末処理と、シンボル名の衝突
__declspec(dllexport), __declspec(dllimport) or *.def の削除は手作業で修正。
0229227
2007/01/26(金) 15:18:16ありがとうございます。
__declspec(dllexport), __declspec(dllimport)を削除したところ
ビルドはできましたがDLLで使えてた機能が使えません。
DllMain周りの初期化/後始末処理とは何でしょうか?
0230デフォルトの名無しさん
2007/01/26(金) 15:31:27#include<stdio.h>
void main(void) { キー入力サンプルプログラム */
charKey;
for(;;){ Key = inp(0x60);
printf("%x\n",Key);
if (Key == 0x01){/* ESCで終わります */ break;}
}}
警告 W8065 test15wc.c 18: プロトタイプ宣言のない関数 'inp' の呼び出し(関数 main )
Error: 外部シンボル '_inp' が未解決
というエラーが出てしまいます。自分なりにやってみたのですが、うまくいきませんでした
0231デフォルトの名無しさん
2007/01/26(金) 15:36:08元々の機能ってフックかなんか? それだと DLL 以外は不可能だぞ。
実行ファイル書くときの WinMain() や main() の亜種で、
DLL用に DllMain() ってのがあって、DLLがロードされたりすると暗黙のうちに呼ばれるのがある。
(詳細はヘルプなりMSDNなりで調べてね)
元ソースを grep してみて、そいつが居るようなら特別な作業が必要ってこった。
0232デフォルトの名無しさん
2007/01/26(金) 15:49:12キー入力する部分の inp() が君の使っているコンパイラには無い。
他の1文字入力を待つ標準関数を探そう。
# 最後に押されたASCIIコードが port 60h のリードで得られるって OS&PC は何なんだろ?
0233デフォルトの名無しさん
2007/01/26(金) 16:00:26HELPが見つかりませんとでます。MFCでもダイアログ以外を選択するとでません。
またMFCでなくWindowsフォームアプリケーションにしても出ません。
これは仕様なのでしょうかね?HELPを作成せずにメッセージを出さなくする方法
はありますか?こちらのスレの方が適切だと後で思ったのでこちらにも書いてみ
ました。マルチポストすみません。
0234デフォルトの名無しさん
2007/01/26(金) 16:01:39簡単なゲーム作成で、藤川ソフトウェア工房で
「C言語のget系の標準関数を使うのは問題外です。2つ以上のキーを同時に認識できないからです。」
「キーボードのデータはI/Oポートのアドレス60hから取得できます。
C言語でI/Oポートのアドレス60hを読むには、conio.hをインクルードしておいて」
ハードウェア割り込みというこでできると書いてありましたが環境が違うので、無理っぽいですが
もう少し調べてみます。有り難うございました。
0235227
2007/01/26(金) 16:05:43>元々の機能ってフックかなんか? それだと DLL 以外は不可能だぞ。
その通りフックです。そうなんですか〜、既存のアプリがランタイム要るので自分で作ろうとしたのにorz
どうもありがとうございました。
0236デフォルトの名無しさん
2007/01/26(金) 16:20:41サイト見つけた。
ttp://www14.big.or.jp/~amiami/fsk/old/stg/stg2.html
AT互換機で DOS/Win9x限定(ポート直たたきするから)
+ コンパイラはWatcomC という縛りの元で Webの内容を構成してるぞ。
環境あわすか、他のページを参考にしたほうが良いんじゃねーかな?
0237デフォルトの名無しさん
2007/01/26(金) 16:33:20そうでした。コンパイラが違うから使えない・・・
あらためて、互換性の高い壁を感じました。(>_<)
コンパイラ変更も含め検討します。
どうもでした!
0238デフォルトの名無しさん
2007/01/26(金) 16:35:01Win32API使えばいいじゃん
0239デフォルトの名無しさん
2007/01/26(金) 16:52:46まじっすか!get系を使っていて同時押しできなくて、どうしようかと悩んでいました。
(真剣にコンパイラ変更を考えていた)コマンドプロンプト用のゲーム。
色や位置設定などでコンソールAPIを使っていました!Win32APIもためしてみます!
有り難うございます。m(_ _)m
0240デフォルトの名無しさん
2007/01/26(金) 17:01:49コンパイラ変更だけじゃなくて、動作OSも変えないと意味ないぞ。 (XP じゃ port 60 のリードできない)
素直に WinAPIを使う=Windows のプログラミングするべし
0241デフォルトの名無しさん
2007/01/26(金) 17:06:21> 私のOSはXP
お前、XP で動いてるんか。
0242デフォルトの名無しさん
2007/01/26(金) 17:09:150244227
2007/01/26(金) 18:35:36既存のアプリが実行ファイルとランタイムの構成で、
それを1つにまとめたくて同じ機能の物はランタイム不要で作れたんですけど、
フックした方がもっと便利なものが作れると思ったら、
DLLとEXEの複数ファイルが必要だったって状態です。
0245デフォルトの名無しさん
2007/01/27(土) 15:28:33何故「一つのファイル」に拘るの?
0246デフォルトの名無しさん
2007/01/27(土) 15:30:350247デフォルトの名無しさん
2007/01/27(土) 16:34:36int size = 128;
int n = size >> 1;
という記述があったんですが">>"はどういう意味なんですか?
0248デフォルトの名無しさん
2007/01/27(土) 16:38:560249デフォルトの名無しさん
2007/01/27(土) 16:39:260250デフォルトの名無しさん
2007/01/27(土) 18:13:52先生に
「どうして”int size = 64;”にしなかったのですか?」
って聞いたら教えてあげる
0251デフォルトの名無しさん
2007/01/27(土) 18:18:34いかがなものでしょうか先生、
ぐらい言うと良い
0252デフォルトの名無しさん
2007/01/27(土) 18:19:55■ このスレッドは過去ログ倉庫に格納されています