799 :
デフォルトの名無しさん :
2005/10/13(木) 12:22:38 if (変数名 == true) って書くのと if (true == 変数名) では、どう違うのでしょうか?
>>799 変数名 が論理型ならば
if (変数名)
と書くのが正しい。
>>799 アセンブラレベルまで知らないからよくわからんが、
レジスタの使い方とか、順番が違うかも知らん
だが少なくとも、プログラムの動作上気にするような違いなどない
>>800 アナタニホンゴワカリマスカ?
普通は最適化されてどれも同じコードになると思う。 if (変数名 == true) if (true == 変数名) if (変数名)
>>799 ==を=にタイポしたとき
(変数名 = true)だとコンパイル通ってしまって、
初歩的なバグとなりやすい
逆に、(true = 変数名)だったら、
trueに代入できねーからコンパイラが怒ってくれて分かりやすい
みたいな話しを聞いたことはある
>>799 変数を後に持ってくるのって、確か間違って代入演算子にしちゃった時に
if (var = 1)だとエラーでないが、if (1 = var)だとエラーになるからじゃなかったっけ?
まぁ最近のコンパイラはWarning出してくれるし、見にくいからvar == 1でいいだろ
ちょっとずれるけどC/C++で if(f()==g())の評価順は決まってる?
|| && カンマ演算子 三項演算子以外は全て評価順が不定
>>805 コンパイラがif(a=0)を警告してくれない太古の昔に
真顔でそういうことを主張していた人間がいたのだよ。
今でも別にif(a=0)は警告してくれないと思うが とりあえず、VC++6.0のコンパイラはそんな警告してくれんかったな
>>809 まず、そのコンパイラは最近のものとは言い難い
(出たのいつだと思ってるんだ?)
次に、警告レベルを上げろ
>>806 Cでは決まっていない。 C++は知らん。
>>809 VC++6.0 は 警告レベル4(/W4)で出た。
>>810 >出たのいつだと思ってるんだ?
たかだか5,6年前
>次に、警告レベルを上げろ
んなことしたら警告がまんどくせぇ
814 :
811 :2005/10/13(木) 15:33:44
ごめん、解答済みだったのね。
>>807 見落としてた。
>>803 こんな流れになるのが分かってたからみんなあえて黙ってたのに・・・。
>>815 今更嘆いても遅いけどな・・・
てか、==を=にするヤツなんて居たのか・・・
817 :
803 :2005/10/13(木) 16:04:35
そーだったのか、空気読めなくてオスマントルコ
>>816 他の言語から来るとつい習慣てのもある。
>>816 居る。
もちろん、== と = の違いが分かってないわけじゃないのよ。
(違い分かってない人が
>>803 みたいな予防線張るわけないし。)
ついうっかりやっちゃうのよ。
#あー。またこの話題か・・・。今年になってからだけでも見るの三度目
>>800 論理型の変数ならそれ単体で論理式として完結してるから、
while (true) といったものを除いて論理式の途中にtrueやfalseが出てくるのは冗長という考え方もあるが、
if (a == true) ぐらいなら気にするほどじゃないと思う。
さすがに if ((a > 0) == true) を見たときは馬鹿じゃないかと思ったけどね。
if (((a > 0) == true) == true)
ウゼー
if (!(((((a > 0) == true) == false) == false) == true))
if(今度またこの話題が出たら)through
throw ぬるぽ;
> through
831 :
デフォルトの名無しさん :2005/10/14(金) 16:23:31
局所変数と内部変数、大域変数と外部変数って何が違うのでしょうか?
定義してある場所が違う、
局所変数と内部変数って何が違うのですか 大域変数と外部変数って何が違うのですか って意味だろ
835 :
831 :2005/10/14(金) 17:32:22
すいません。具体的に内部変数は大体どういう流れで定義されるもので、局所変数はどういう流れで定義されるのですか?
836 :
デフォルトの名無しさん :2005/10/14(金) 17:42:07
codeguruに記事の投稿しようとおもうんだけど どのぐらいのレベルの記事なら載るの?
言語ごとの方言にも近いからな 基本的に同じ物と考えていいだろ
局所変数:関数内で一時的に定義されてるローカル変数 内部変数:クラスのメンバ変数 大域変数:グローバル変数 外部変数:あるクラス、関数内から見てその外部で定義されてる変数 こう呼んでる俺は異端?
>>838 俺も似たような認識。
局所変数:ループカウンタとか、作業用変数
>>831 そんな漠然とした質問すんな。
日本語の用語なんて綺麗さっぱり忘れて
言語ごとの機能を理解すればそれでよし。
そんな質問の制限すんな。 お前的に漠然としていて不要だってんなら 何も言わずにスルーすればそれでよし。
> あとif (a == true)と書けば「もしaがtrueなら」とそのまま読めるが、 > if (true == a)ではそのまま読むと「もしtrueがaなら」となり > 頭の中で順番をひっくり返す必要がある。 よくこの反論を見るけど、これも頭わるい意見だよね。 「trueとaが等しいなら」って読めばとくに不自然でもない。
#define if(A==B) if(B==A) でFA?
ウゼー
#define もし(AならばB) if(B==A) じゃね?
rubyの解説本を読んでいたところ、IO#getsというような 書き方をみかけたのですが、この#って「::」とは 違うのでしょうか。他の言語でも使う書き方でしょうか。
Cだと #の左右にあるdefineで置換された後の 文字列同士をつなげて、全体として一つの変数として扱うんだっけ?
849 :
デフォルトの名無しさん :2005/10/15(土) 01:52:33
import<msxml4.dll> named_guids ・ ・ try{ MSXML2::IXMLDOMDocument2Ptr pDoc; pDoc.CreateInstance(MSXML2::CLSID_DOMDocument40); MSXML2::IXMLDOMNodeListPtr pnlName = pDoc->getElementsByTagName(_bstr_t("hoge")); MSXML2::IXMLDOMNodePtr pnName; pnName = pnlName->Getitem(0); _bstr_t bst = pnName->Gettext(); MessageBox((LPCSTR)bstr); } catch(_com_error e) { } ----------------------------------------- "hoge.xml" <?xml version="1.0" encoding="Shift_JIS" ?> <hage> <hige> <hoge>masayoshi</hoge> </hige> </hage> ------------------------------------------ 上記コードで_com_error(ポインタが無効です)がでます。 raw_interfaces_onlyを外したコードを書いても発生します。 お助け下さいませ。 環境: win2000sp4, VC++.NET2003, MSXML4.0sp2
>>846 「IOクラスのgetsメソッド」を意味してそういう書き方をすることがあ
るけど、プログラム上でそういう書き方ができるわけではない。
たぶんJavadocからきた言及方法だと思う。
851 :
デフォルトの名無しさん :2005/10/15(土) 07:38:04
>>842 > 「trueとaが等しいなら」って読めば
不自然ですね :-)
WMPで現在再生中のファイル名を取得したいんですけどどんなOLEを使えばいいデス化?
>>850 なるほど。本の中では全く言及されていなかったので助かりました。
ありがとうございました。
854 :
849 :2005/10/15(土) 13:46:45
すいませんでした、>849はスルーして下さい。
いえ、よく読んでみます
856 :
デフォルトの名無しさん :2005/10/15(土) 17:39:12
以下のような環境で、GPSモジュールから送られてくるデータを 途中で書き換えてから、アプリAに渡すにはどうすればよいのでしょうか? -------------------------- [GPSモジュール]-Bluetooth接続Rev1.1Ver1.2-[Bluetoothアダプタ]- -USB2.0接続-[USBポート]- -[-ここからWinPC内部-[Bluetoothドライバ]-[仮想COMポートA]-[アプリA]] ※GPSモジュール、BTアダプタ、USBポート、BTドライバ、仮想COMポートA、 アプリAは既製品のため改修出来ないです。 環境: WinXP pro sp2、VS.NET2003 VC++ -------------------------- アプリBを作成しWin32APIのCreateFile()を使用すれば、 仮想COMポートからデータを読み込むことは出来るのですが、 その後、どの様にしてアプリAにデータを渡せばよいのか分からないです。 新しく仮想COMポートBを作成し、そこにデータを渡せばよいのでしょうか? 仮想COMポートを作成したことがないので、まったく分からないのですが、 デバドラ開発の知識等が必要になるのでしょうか? その場合、おすすめの書籍などご教授頂ければ幸いです。 質問ばかりで恐れ入りますが、よろしくお願いします。
858 :
デフォルトの名無しさん :2005/10/15(土) 19:01:08
今個人で使うなら一番生産性が高い開発環境はどれですか?
860 :
みんな助けて :2005/10/15(土) 20:18:29
ハブ付ルータで複数の画面で一度に別々のインターネットを使用するばわいどうしたらいいのですか??聞き方が下手ですみません↓
複数のパソコンで見るのか?↑
862 :
みんな教えて :2005/10/15(土) 20:29:15
パソコンとテレビです
板違い
テレビって?どんな端子が付いてるんだ?
865 :
みんなおしえて :2005/10/15(土) 21:00:11
え〜と正確にはゲーム機を通します
867 :
デフォルトの名無しさん :2005/10/15(土) 21:59:51
dim.javaをコンパイルしたら、こんなErrorが出ました。 Exception in thread "main" java.lang.NoClassDefFoundError: dim/java これってどんな意味なんですか?
クラスがネーヨ
>>865 ハードウエア板で聞いたら。ルータの話題はいろいろあるようだ。
871 :
:2005/10/15(土) 22:28:49
GNUPLOTでテキストファイルを使いたいのですが、どうしても can't read data file "y.dat" という文が出てきます。 原因はどいうことが考えられるでしょうか?
すいません。質問です。 ゲームのエミュとかをつくりたいのですが、なにを覚えればできますか?
言語
言語を覚えるのはわかっています。何言語ですか?
>>875 お前がエミュレータを作成するときに使用したい言語。
エミュレータ作る前に既にあるもののソースを読め。
>>871 カレントに"y.dat"が無い
>>872 覚えるべき内容はゲーム機のエミュレータを作りたいのか、ゲームのエミュレータを作りたいのかで違う
ゲーム機のエミュならまず最初に英語を覚えろ。英語の技術資料が読めないと話にならない
ゲームのエミュなら外からみて解析をしろ
言ってる意味がわからないなら諦めろ
この手の事やるなら言語なんかどうでも良い必要なら自然と覚える
>>872 小説を書きたいのですが、何言語を覚えれば書けますか?
>>879 小説は主体的に書けばよいが、プログラムはコンピュータに理解できるような客観性が必要。
プログラミングが小説を書くのと似ているなどとほざくクズ教授がいるみたいだが、それはほとんど嘘。
主観的
>>881 プログラムは俳句や短歌を書くのと似てるな
884 :
デフォルトの名無しさん :2005/10/16(日) 08:31:53
>>881 小説も他人に理解できるような客観性が必要ですが :-P
つまんない
886 :
デフォルトの名無しさん :2005/10/16(日) 10:03:07
プログラミング言語C 第二版 ANSI企画準拠 の演習の解答例を載せているサイトとかありませんか?
そのまんまのアンサーブックって書籍が出てるぞ。
外国のサイトならいくつかあるね
889 :
デフォルトの名無しさん :2005/10/16(日) 15:30:26
VC++7でコンソールアプリを作ってるんです。 実行結果をDOS窓に吐いて終わる簡単なテストプログラムです。 デバッグ実行したときに終了時にDOS窓を消されてしまうので結果が見れません。 確か終了する前に終了確認してくれるオプション?があったような気がしたのですが どうやるのか教えてください。 よろ
>>889 getchar() で待って、なんかキーインすると、exit() するとかあったな。
getkbd() だったかな。調べて。「終了するには何かキーインして下さい」
ってメッセイジが出るアプリがよくあるんじゃない。
ありがとうございます。 たしかVC6だとデバッガでそういう風に聞いてくれる機能があったのでVC7でもあると思うんですが DOS窓を自分で開いて直に実行する場合、別に単に終了すればいいだけなのでソースにそういうコードを追加しないほうがよろしいのです。
892 :
デフォルトの名無しさん :2005/10/16(日) 15:55:50
@echo off
893 :
デフォルトの名無しさん :2005/10/16(日) 15:56:36
ooops @echo off %1 PAUSE って内容のバッチファイルを作って、そこにドラッグアンドドロップすればよろし
VCから実行する時に閉じたくないってだけならCTRL+F5
皆さん、ありがとうございます。
>>894 ばっちりできました。ありがとうございます。
>>889 メニューのデバッグなしで実行(Ctrl+F5)で実行するといいよ。
VC限定か せっかく作っても他の人には使えないね
codeguruに記事投稿したけど pending review状態だ。 ここ直せとか帰ってくるのかな