1 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 06:18:18 ] プログラミング言語C/C++についての、小心者向けスレです。質問・要望・雑談などどうぞ。 関連スレやURLは>>2 以降。 ■質問する人へ 質問する前に次の3つをすること。ここで回答を待つよりそのほうが早い。 ・ぐぐる ・マニュアルで探す ・FAQを読む 例えば www.bohyoh.com/CandCPP/FAQ/index.html 質問には以下を書くこと。へたくそな質問は再提出を要求される。 ・詳しい内容(「動きません」「うまくできません」では回答しようがない) ・エラーメッセージ(なるべくそのままで) ・実行環境(OS名、コンパイラ名) ・最終的にやりたいこと(もっとよい方法がある場合が多いので) 回答してくれた人には「ありがとう」のひとことをいってあげて。 ■回答する人へ 相手は小心者、根気よく育てるつもりで。質問がへたくそなのも大目にみてあげる。 それができないならこないこと(だって小心者スレだもん)。 ・既出な質問やFAQは「XXXを読め」でいいので、叩かない&怖がらせない。 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。 宗教的な話題は禁止します。
552 名前:デフォルトの名無しさん [2009/11/20(金) 01:33:49 ] >>549 f.open(ji.c_str(),ios::out) かな
553 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 03:14:37 ] >>547 >>550 ありがとうございます!
554 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 12:31:02 ] >>549 sprintf(t_char, "%d.txt", j); fstream f; f.open(t_char,ios::out)
555 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 20:36:18 ] >>551 >>552 >>554 ありがとうございます!!
556 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 23:20:28 ] Shift-JISの場合は char*型 strlen strcpyなどを使いますよね? UTF-8を扱う場合の変数型や文字列処理の関数はどうなりますか?
557 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 23:35:29 ] 基本的に、strをwcsに置き換えればOK
558 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 23:42:03 ] UTF-8ってShift-JIS同様マルチバイト文字ではないのですか? UNICODEはワイド文字で、UNICODEとUTF-8は別物ですよね?
559 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 01:44:23 ] >>557 それはおかしい。 UTF-8はマルチバイト文字に分類される。 UTP-8を直接扱うときはcharとそれを扱う関数を使って問題ない。
560 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 01:53:17 ] えー。UTF-8というのはUnicodeのエンコード方式のひとつです。 Unicodeというのはいっぱいある文字を一覧表にしただけだと思ってください。 その一覧表をコンピュータでどのように表現するか、 2バイトで1セットとするコードを使うとか、 4バイトで1セットとするコードを使うとか、 最初の方は1バイトで、大部分は2バイトだけど、いい具合に3バイトとするコードを使うとかetc、etc… そういうなかのひとつがUTF-8です。UTF-8は可変長バイトです。 Unicodeを扱う場合、localeを正しくセットした上で、 wchar_tとwchar_tを処理するライブラリを使います。 ただし、UTF-8が本当に使えるかどうかは コンパイラしだいです・・・。
561 名前:556=558 mailto:sage [2009/11/22(日) 01:55:15 ] >>559 UTF-8を扱うときはShift-JISと同じように扱って大丈夫なんですね。 ありがとうございました。
562 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 03:26:17 ] >>560 UTF-8を単なるバイト列と見なして入力・処理・出力するだけなら、 単なるバイナリデータと同じchar型で扱って何の問題もない。 そのデータ中に'\0'が現れなければ、strlenやstrcpyはうまく動く。 普段使っているマルチバイト文字と改行の扱いが同じならテキストモードでのファイル読み書きもうまくいく。 ここまでlocaleの出番無し。 もちろん、この状態を「本当に使える」と言わないと主張するならそれに賛成するよ。
563 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 04:07:31 ] >>562 UTF-8はASCII互換部分があるからそういうことができるのかな。 いまいちこの辺はよくわからんです*_*
564 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 10:05:16 ] UTF-8は外部インターフェース用と考えた方が良い 直接文字列操作するなんて考えたくない
565 名前:デフォルトの名無しさん [2009/11/23(月) 15:09:23 ] C言語の質問です。 C言語の基本はとりあえず理解したのですが、実際に自分でプログラムを組もうとした時 はて、真っ黒コンソールで走る、組んでて楽しいプログラムって何だ?と、困っています。 そこで、こんなコンソールのプログラムなら、作ってて面白いし、勉強にもなるんじゃ?といった案をお教えください。 ちなみに、基本情報処理者の資格を一応持っているので、多少のシステム関係の知識はあります。 プログラミング環境は、 ・Borland C++ Compiler 5.5.1 ・Microsoft Visula Stdio 2005 の二つあります。 どうぞお願いします
566 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 15:13:31 ] いや別にコンソール使わなくてもいいと思うけど
567 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 15:19:55 ] オセロ
568 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 15:29:16 ] ウィンドウ出す方法でも勉強したらいいんじゃね
569 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 16:58:24 ] >>564 ハァ?
570 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 20:47:18 ] >>569 俺も>>564 は普通に当然だと思うが
571 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 21:21:03 ] >>565 テトリスなら2, 30分ぐらいで作れて遊べるから楽しいんじゃない? 昔、流行った頃は電卓に搭載されたぐらいシンプルなものだし
572 名前:565 mailto:sage [2009/11/23(月) 21:50:09 ] >>566 おぉそうですか。Winプログラムじゃ、"Hello, world"で挫折すると聞いていたもので・・・ 窓だと、どのようなプログラムがよいか、よろしければお教えくださいm(_ _)m >>567 なるほど!いいですね 次の手を思考ルーチンを、自分で考えてみるってのも、楽しいかもしれませんね! ありがとうございました >>568 ぐ、やはりWindowsプログラミングですかね、 とりあえずこのソースを打ち込め!的なページを見てみます >570 テトリスですか!いいですね、、、 mainをぐるぐる回して、関数の戻り値を確認すれば出来るのだろうか…やってみます! ありがとうございました
573 名前:デフォルトの名無しさん [2009/11/24(火) 00:20:57 ] CとC++の違いをお願いします。 また、 www.amazon.co.jp/gp/product/4797349816/ref=s9_simz_gw_s0_p14_i1?pf_rd_m=AN1VRQENFRJN5&pf_rd_s=center-1&pf_rd_r=0X37K4K5C7P745SGFKF4&pf_rd_t=101&pf_rd_p=463376736&pf_rd_i=489986 この本はCではなくC++を扱ってるように思うのですが、どうなのでしょうか
574 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 00:50:20 ] どうみてもC VC++はCも扱える
575 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 02:04:41 ] どう見てもC 初心者の俺がもってるイメージとしては c = 関数関数関数関数 cpp = c + クラス他
576 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 02:07:32 ] 言語仕様としては間違ってなくもないけど 実際のコーディングがまったく違うよ。
577 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 19:49:14 ] C++を有る程度使えるようになってから このまえCだけで全部つくる必要がでたときすごくとまどったな なんつっても文字列操作が…
578 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 23:00:39 ] いつかC++のクラスやSTLが突然使えなくなる日が来るんじゃないかと思ふことがある
579 名前:デフォルトの名無しさん mailto:sage [2009/11/28(土) 00:24:14 ] 〜ヘッダ〜 class BBB; class AAA{ BBB *processor; void do(); } 〜ソース〜 AAA::do(){ BBB &processor = *(this->processor); processor.execute(); } プログラミングの出来る友達のソースを見たらこのような記述がありました。 このようにするメリットって何があるのですか? 友達にも聞いたのですが、いまいち理解できませんでした。
580 名前:デフォルトの名無しさん mailto:sage [2009/11/28(土) 03:24:18 ] いわゆるpimplだな。 他のソースからそのヘッダだけインクルードしてAAAを使いたい場合に有効。 AAAのインスタンスを生成するには、AAAのメンバ変数のサイズが全部確定してないと ならない。プライベートメンバでも何でも。 でも、ヘッダにAAAのプライベートメンバ変数まで全部書くようにしてると糞ソースに なる。 だから、BBBを名前だけ宣言しといて、AAAのメンバ変数に「BBBへのポインタ」を 置く。ポインタなら中身が分からなくてもサイズは確定するから。 で、プライベートな実装は全部BBBの中に突っ込んで、AAAはBBBに丸投げする。
581 名前:デフォルトの名無しさん [2009/11/29(日) 05:28:36 ] 下のプログラムで、なぜかswitchのところでひっかかってしまいます。原因は何でしょうか。 プログラムの内容はsuujiに乱数を入れ、その乱数が〜なら○○を出力する、というものです。 int suuji; suuji = rand() % 5 ; printf("\n\n\n\nテストプログラム1\n"); switch (suuji) { case '0' : printf("\nCASE 0"); break; case '1' : printf("\nCASE 1"); break; case '2' : printf("\nCASE 2"); break; case '3' : printf("\nCASE 3"); break; case '4' : printf("\nCASE 4"); break; } return 0;
582 名前:581 [2009/11/29(日) 05:30:54 ] 頭にくる int main(void) がぬけてました。 また、ひっかかるというのは表示されないということです
583 名前:デフォルトの名無しさん mailto:sage [2009/11/29(日) 06:40:40 ] suuji = rand() % 5 + 0x30; これで^^
584 名前:デフォルトの名無しさん mailto:sage [2009/11/29(日) 08:38:50 ] やべえ俺>>583 を見てもなお引っかかっちまった 文字'0'(ASCIIコード0x30)と比較してるのか
585 名前:デフォルトの名無しさん mailto:sage [2009/11/29(日) 14:14:52 ] if(1){****} とあった場合、 まともな(有名どころのg++とかVCとか)コンパイラなら if(1)という無駄なオーバーヘッドは消してくれると期待できますか? あるいはif(0)も同じく最適化してくれますかね?
586 名前:585 [2009/11/29(日) 14:22:33 ] #include <iostream> const int num = 1; int main() { if(num){std::cout << "num" << std::endl;} if(!num){std::cout << "!num" << std::endl;} return 0; } これがg++ (最適化-O1) でasmファイルが同じになりました。 他のコンパイラでも期待して良い物なのでしょうか?
587 名前:デフォルトの名無しさん mailto:sage [2009/11/29(日) 18:11:43 ] よほど特殊な狂った(または単純に超絶バカな)コンパイラでなければ、最適化を 切ったりしない限りは当たり前のように消える
588 名前:デフォルトの名無しさん mailto:sage [2009/11/29(日) 18:32:50 ] >>587 ありがとうございます。
589 名前:デフォルトの名無しさん [2009/11/29(日) 19:33:54 ] C++のクラス&構造体に関する質問です。 構造体を静的メンバとして定義するには、どうしたらいいのでしょうか。 以下のようなコードで、int型の数値をstruct型にまとめたいのです。 class Perception { public: static int trackingPointX; static int trackingPointX; } int Perception::trackingPointX = 0; int Perception::trackingPointY = 0; int main() { printf("%d", Perception::trackingPointX); return 0; } いろいろと検索・試作してみましたが、実装方法が分かりませんでした。 よろしくお願いします。
590 名前:デフォルトの名無しさん mailto:sage [2009/11/29(日) 19:44:36 ] >>589 よくわからんな。 そのコードのどこが気に入らないの?
591 名前:デフォルトの名無しさん mailto:sage [2009/11/29(日) 19:49:13 ] struct Perception { static int trackingPointX; static int trackingPointY; };
592 名前:589 [2009/11/29(日) 19:51:37 ] >>590 printf("%d", Perception::trackingPoint0.x); printf("%d", Perception::trackingPoint1.x); printf("%d", Perception::trackingPoint2.x); ・・・という風にしたいんです。
593 名前:デフォルトの名無しさん mailto:sage [2009/11/29(日) 19:56:42 ] #include <stdio.h> struct _Perception { struct Point{ int x; int y; }; Point trackingPoint0; Point trackingPoint1; Point trackingPoint2; }; _Perception Perception; int main() { printf("%d", Perception.trackingPoint0.x); /* ...*/ return 0; }
594 名前:589 mailto:sage [2009/11/29(日) 20:22:19 ] >>593 構造体をクラス変数として使いたいなら、メンバ変数として定義した上で あらかじめクラスを作っておく方法しかないんですかね・・・。
595 名前:デフォルトの名無しさん mailto:sage [2009/11/29(日) 20:28:31 ] >>594 クラスインスタンス作るのが気に入らないなら 593 のメンバ変数に static つければいいだろうが。 >>593 要らんところで予約名使うなよ。
596 名前:589 mailto:sage [2009/11/29(日) 20:38:31 ] >>595 さんの方法も試してみます。ありがとうございます。 とりあえずは以下の方法で実装できました。(言われてみれば当たり前かも・・・汗) struct TrackingPoint { int x; int y; }; class Perception { public: static TrackingPoint trackingPoint0; static TrackingPoint trackingPoint1; static TrackingPoint trackingPoint2; }; TrackingPoint Perception::trackingPoint0 = {0, 0}; TrackingPoint Perception::trackingPoint1 = {1, 1}; TrackingPoint Perception::trackingPoint2 = {2, 2}; int main() { printf("%d", Perception::trackingPoint0.x); printf("%d", Perception::trackingPoint1.x); printf("%d", Perception::trackingPoint2.x); return 0; }
597 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 00:53:41 ] MFCを使ったサンプルプログラムを実行したいのですが、 .NET 2008だと有料版を買うしか無いのですよね・・・?
598 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 01:28:33 ] >>597 「.NET 2008」って、「Visual Studio .NET か Visual Studio 2008」ってこと? まあ、そうだね。MFCを無料で入手する手段はないと思うよ。 ちょっと試すぐらいなら、現在無料で配布中の VS 2010 懼ァイ22でいけるか もしれない。
599 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 04:05:07 ] >>598 説明が足りなくてすいません Visual Stadio .NET Express EditionでMFCを使用したサンプルプログラムの動きを見たかったのです VS2010なら、動作してくれるのかな? ちょっとダウンロードして実行してみます
600 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 10:03:55 ] 1回動けばいいだけなら評価版をダウンロードすればいいだけだな
601 名前:デフォルトの名無しさん [2009/12/07(月) 21:57:33 ] a、b、cの3つのint型にそれぞれ8bit(01001110のようなもの)のデータをくっつけたいのですが、どうすればよいでしょうか。 つまり、aに5、bに3、cに8というデータがあったら、新しいint型のdに538というように ひとつの24bitのデータにしたいのです。 なにか良い手段がありましたら、お願いします。
602 名前:デフォルトの名無しさん mailto:sage [2009/12/07(月) 23:27:47 ] >>601 a、b、cを左に8回シフトして0xffffff00(32bitの場合)とANDを取り 次に8bitデータとORを取る
603 名前:デフォルトの名無しさん mailto:sage [2009/12/07(月) 23:28:31 ] あっごめん24ビットデータか じゃあ0xffff00とANDを取って
604 名前:デフォルトの名無しさん mailto:sage [2009/12/08(火) 01:14:20 ] >>601 > つまり、aに5、bに3、cに8というデータがあったら、新しいint型のdに538というように これ、 4 ビットずつ 3 つで 12 ビットのデータにしてね?
605 名前:デフォルトの名無しさん mailto:sage [2009/12/08(火) 01:27:26 ] >>604
606 名前:デフォルトの名無しさん mailto:sage [2009/12/08(火) 04:37:51 ] >>601 1行目と2行目以降が同じ意味に聞こえないんだけど、もしかしてこういうこと? int d = ((a & 0xff) << 16) | ((b & 0xff) << 8) | (c & 0xff);
607 名前:デフォルトの名無しさん mailto:sage [2009/12/08(火) 07:44:40 ] visual C++ 2008 Express Edition でシンプルなソフトを作ってみました。 そこで質問があるのですが、もし分かる人いたら教えてください。 @実行ファイルにアイコンをつけたいんですが、プロジェクトファイルを作成してしまった後でも、 アイコンをつける方法はあるのでしょうか。 (アイコンの絵柄のきれいさはあまりこだわりませんが、せっかくなんでアイコン作ってみたくて) ARelease環境で作成されたフォルダをみると プログラムの中で使う画像ファイルがなぜかないので手作業でフォルダに追加しないといけなかったり、 作成されたフォルダの中にexeファイル以外のファイルが8つぐらいあったりしてごちゃごちゃするので、 最終的に作成するファイルをexeファイルだけにする方法はないでしょうか?
608 名前:デフォルトの名無しさん mailto:sage [2009/12/08(火) 12:46:29 ] 昔はリソーススクリプトをごりごりしていたけど(VC++ 6.0) いまはXMLになっている気がする(VS 2003頃からか) とりあえず、スレ違い Visual Studio 2008 Part 19 pc12.2ch.net/test/read.cgi/tech/1259076828/
609 名前:デフォルトの名無しさん mailto:sage [2009/12/08(火) 14:11:26 ] >>607 >最終的に作成するファイルをexeファイルだけにする方法はないでしょうか? ビルド後のイベントに消すコマンドを書けばよいがそんなことは普通しない。 分割コンパイルの意味がなくなる。
610 名前:デフォルトの名無しさん mailto:sage [2009/12/08(火) 20:40:37 ] >>601 が真にやりたいことが理解できてなくて 説明がうまいこといってないのか 俺の読解力がないのかが判断つかねえ
611 名前:デフォルトの名無しさん mailto:sage [2009/12/08(火) 21:29:28 ] R=5 G=3 B=8から、RGB値の#538が欲しい、だと解釈したので>>606 でいいと思ってる
612 名前:デフォルトの名無しさん mailto:sage [2009/12/08(火) 21:41:17 ] サンプルのdが0x538だったら惑うことも無かったろう
613 名前:612 mailto:sage [2009/12/08(火) 21:42:19 ] 8bitの合成で24bitだから正しくは0x050308か
614 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 12:49:28 ] >>601 今の人はビットフィールドって知らないのか?
615 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 12:51:22 ] はぁ?
616 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 12:58:29 ] >>610 1行目と2行目の関連がまるで見えないので説明の問題だと思う
617 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 13:00:10 ] >>614 もし、8ビット毎の合成だったらunionだけでOKだな
618 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 16:24:01 ] C++/CLIってググっても情報少ないんだけど、 あまり使われていないのでしょうか?
619 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 16:31:41 ] えぇ、使われてません。 C++のルールからあまりに外れまくっている上に C#より面倒なくせにやれることはC#未満という有様なので。 用途がすごく限られます。
620 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 16:45:58 ] >>618 殆どはC#とC++の情報を読み替えるだけで賄える
621 名前:デフォルトの名無しさん [2009/12/12(土) 10:38:17 ] aとbというunsigned long型で、 aとbの差が±30以上ならint型cに1を入れる、というプログラムを作成したいのですが、 なにかいい方法はありませんか?
622 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 10:42:36 ] 普通に引き算の結果を比較するんじゃダメなの?
623 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 10:43:50 ] >>621 どうやったらダメだったのかとか自分の案くらい書けば?
624 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 10:44:31 ] unsigned じゃ引き算の結果のマイナスは表現できないから困るだろ
625 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 10:51:25 ] int main(){ unsigned long a = 39.5; unsigned long b = 6.4; unsigned long d; if(a>b){ d = a-b; }else{ d = b-a; } int c = 0; if(d>30){ c= 1; } cout << c << endl; }
626 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 10:51:25 ] 絶対値とりゃいい
627 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 11:49:49 ] if (a >= b + 30 || b >= a + 30) { c = 1; }
628 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 11:53:10 ] 最大値付近だとまずくない?
629 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 12:15:02 ] まずかった なんか綺麗に書けないかなと思ったけど難しかった
630 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 12:34:01 ] if (abs(a-b) > 30) c = 1;
631 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 12:34:58 ] 「30以上」
632 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 12:42:20 ] abs()の引数はintじゃねーの?
633 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 13:28:53 ] unsigned longのままでやりたいなら c = (a > b ? a - b : b - a) > 30 ? 1 : c;
634 名前:デフォルトの名無しさん [2009/12/12(土) 15:08:18 ] 横からスマソ int型のif文で、 if (x <= -50) みたいにできなかったっけ?
635 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 15:16:04 ] >>634 出来るが、一体どうしたね
636 名前:デフォルトの名無しさん [2009/12/12(土) 15:21:43 ] いや、int型のほうは負も扱えたよなと思って
637 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 15:22:29 ] >>636 今更なにを。。。 どの言語を普段お使いの方ですか?
638 名前:デフォルトの名無しさん [2009/12/12(土) 18:59:13 ] ここ数年、開発部門から離れてCとかC++も触れる機会が無かったからさ そろそろ戻れるって聞いて、必死で覚えなおしてる
639 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 19:01:58 ] ×戻れる ○戻される
640 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 19:14:33 ] >>1 なんで宗教的な話は禁止とか書いてあんの? プログラムと宗教って何か関係性でもあったの? 普通に考えたらプログラム板なんだから宗教の話なんてスレチのイタチだってのに わざわざ書くってことは何か理由がってのこと?
641 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 19:51:37 ] はい
642 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 20:37:59 ] >>640 vimとemacsのどちらがよりC++コーディングに適しているのか教えてください
643 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 21:20:01 ] 以下のコードのように文字列定数の先頭アドレスを返して 関数呼び出し元で利用するのは問題ないでしょうか。 手元の環境(gcc 4.4.0)では"abc"と表示されました。 #include <stdio.h> char *func() { return "abc"; } int main(void) { puts(func()); return 0; }
644 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 21:41:40 ] >>643 定数は問題ない
645 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 21:58:57 ] 問題ないけど戻り値の型はconst chara*のほうがいいと思う
646 名前:643 mailto:sage [2009/12/12(土) 22:46:26 ] ありがとうございます。
647 名前:デフォルトの名無しさん mailto:sage [2009/12/13(日) 04:59:03 ] >>642 それはエディタ論争だから鼬害
648 名前:デフォルトの名無しさん mailto:sage [2009/12/13(日) 10:14:46 ] >>647 バカ発見www 単に彼は「宗教的な話は禁止」の例えで出したんだろjk
649 名前:デフォルトの名無しさん mailto:sage [2009/12/13(日) 10:20:43 ] この板における「宗教」の意味を理解してないか、わざと理解してないふりをしてるアホには、 何を言っても無駄だろう。
650 名前:デフォルトの名無しさん mailto:sage [2009/12/13(日) 11:21:40 ] viにしろ!!!!
651 名前:デフォルトの名無しさん mailto:sage [2009/12/13(日) 13:22:13 ] 神は量子クラスを継承して光子オブジェクトを作られたわけだが それ以前から原子クラスを継承した水素オブジェクトは存在したのだな
652 名前:デフォルトの名無しさん mailto:sage [2009/12/13(日) 13:33:22 ] >>651 いや存在してないと思うぜ。逆じゃねぇのか? あと、テンプレートの特殊化の方が近いと思うんだぜ。 template<double spin, double Mass, double Electric charge, 俺の知らない要素> class SubatomicParticle;