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


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

スレを勃てるまでもないC/C++の質問はここで 12



1 名前:デフォルトの名無しさん [2009/07/19(日) 22:32:32 ]
スレを勃てるまでもない低俗なC/C++の質問はここでお願いします。

過去ログ
スレを勃てるまでもないC/C++の質問はここで
pc11.2ch.net/test/read.cgi/tech/1167476845/
スレを勃てるまでもないC/C++の質問はここで 2
pc11.2ch.net/test/read.cgi/tech/1178503366/
スレを勃てるまでもないC/C++の質問はここで 3
pc11.2ch.net/test/read.cgi/tech/1187521676/
スレを勃てるまでもないC/C++の質問はここで 4
pc11.2ch.net/test/read.cgi/tech/1221633708/
スレを勃てるまでもないC/C++の質問はここで 5
pc11.2ch.net/test/read.cgi/tech/1230516307/
スレを勃てるまでもないC/C++の質問はここで 6
pc11.2ch.net/test/read.cgi/tech/1231564903/
スレを勃てるまでもないC/C++の質問はここで 7
pc11.2ch.net/test/read.cgi/tech/1232983248/
スレを勃てるまでもないC/C++の質問はここで 8
pc12.2ch.net/test/read.cgi/tech/1235921779/
スレを勃てるまでもないC/C++の質問はここで 9
pc12.2ch.net/test/read.cgi/tech/1240022781/
スレを勃てるまでもないC/C++の質問はここで 10
pc12.2ch.net/test/read.cgi/tech/1242300936/
スレを勃てるまでもないC/C++の質問はここで 11
pc12.2ch.net/test/read.cgi/tech/1245059383/

692 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 18:06:31 ]
>>691
答えられないなら書くなよ。
日本語で丁寧に書くと
10年前のVisual C++の環境や扱い方と今のVisual C++の環境や扱い方は、同じじゃないのか?
だ。

693 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 18:10:41 ]
ちがう

694 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 18:12:04 ]
>>692
お前な、自分が間違ってる上に開き直ってえらそうだな、おいw

695 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 18:17:13 ]
やっぱりソフトの購入からか。

>>694、どこが間違ってたんだ?

696 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 18:18:03 ]
Cというプログラミング言語自体はそんなに変っちゃいないが、
Visual C++というMS製のアプリケーションは大幅に変わっている

697 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 18:23:10 ]
>>696
アプリケーションがかなり変わってるのか、じゃソフトの買い替えからしないとダメだな。
サンクス。

698 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 18:24:52 ]
10年前のVC++で作っても今の環境で動くよ、問題ない
しかし最新のVC++は無料版もあるからそっちのがいいと思うんだ

699 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 18:28:51 ]
>>698
無料版のVisual C++なんてあるのか。
相当変わってるんだな。
試してみる。
色々ありがとう。

700 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 18:34:46 ]
何にも知らないで何も調べないでプログラムを組むとか早速高いソフトを買うとか

絶対釣りだろ



701 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 18:42:14 ]
>>700
10年前にC言語でプログラム組んだことあるし、その当時のプログラムの本は今でもあるよ。
しばらくの間お蔵入りになっててC言語の内容少し忘れてはいるけど。


702 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 18:47:08 ]
10年前のOSで開発するなら、10年前の処理系が最適かも。

703 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 18:53:20 ]
>>702
当時のバージョンのソフトがあるから今のPCにインストールして使ってみる。
あと、無料版も試してみる。

704 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 18:54:53 ]
DLLでnewする場合はDLLでdeleteしないといけないらしいんですが
DLLでfactoryをnewしてそのインスタンスからcreateする場合もやっぱりDLLでdeleteしないとだめですか?

705 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 19:15:39 ]
DLLとアプリケーションで、メモリ源が2つあると考えろ。
そして、その2つは扱い方は同じだが、返すべきところが違う。

DLL内のoperator deleteとアプリケーションのoperator delete、
どちらを呼び出して返却すべきかは、自分で考えろ。

706 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 19:47:44 ]
メモリはもらったところへ返す
DLL側のnewでもらったメモリはDLL側のdeleteへ返す
EXE側のnewでもらったメモリはEXE側のdeleteへ返す
DLLもEXEもみんな別々にメモリ管理してる (場合がある) から
ごっちゃにするとメモリ管理が混乱して落ちる (かもしれない)
それはウチで管理してるメモリじゃないぜ、とかそんな感じ
EXEもDLLもみんな、使うメモリはどっか一個所で一元管理してやれば済む話なんだが
みんな自分勝手だからな

707 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 20:26:35 ]
boost::shared_ptrを使うとカスタムデリータが確保した側のdeleteで自動的に開放してくれるから便利。


708 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 21:01:23 ]
shared_ptrの類を使うとインスタンス管理で負けた気がする。
全くの個人的な了見で、使う人を批判する気は全くないが。

709 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 21:13:01 ]
>>708
そんなこと言っていると
本当にインスタンス管理に(つーか他人の技術に)負けるぞ。

何事も新しいことは受け入れづらいものなのは分かるが。

710 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 21:16:38 ]
shared_ptrを普通のポインタみたいに記号ひとつで使えればいいのに。Foo@ foo;とか
typedef std::tr1::shared_ptr< foo > sp_foo_t;とかするのめんどくさい



711 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 21:27:12 ]
>>708安心しろ。それは杞憂だ。
shared_ptrを使うには循環参照を避けるクラス設計が必要になる。
それこそがインスタンス管理の勝利ではないか。

一度使い始めると雪崩的に使うようになるから。

712 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 21:29:52 ]
>>710
そういうことはC++0xの設計段階で提唱するべきだったな。


713 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 22:49:07 ]
>>710
using std::tr1::shared_ptr とすれば楽になる。

C++0xにはtemplate typedefができるらしいから sp<T>にでもtypedefすればいいんじゃないか


714 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 22:59:08 ]
using sp = std::tr1::shared_ptr;
sp<hoge> sp_hoge;
0xだと↑みたいにできるらしいね。typedefより見やすいし良いと思う

715 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 14:25:43 ]
inline int func(int x){
return x * x;
}

みたいなinline関数があるとすると、
a = func((int)(b - c));

a = ((int)(b - c)) * ((int)(b - c));
みたいになるんですか?
それとも、
int x = (int)(b - c);
a = x * x;
みたいになるんですか?

716 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 14:40:29 ]
後者
マクロ展開と違って引数は1度しか評価されない

717 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 15:07:27 ]
>>716
ありがとうございます。

718 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 17:58:52 ]
>>713
彼はそんな程度は知っているだろ、たぶん。
彼が言いたいのはもうもっと言語仕様に
組み込んじゃえよってことじゃねぇか?


719 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 18:01:01 ]
>>717
>>716の言う通り、一度である。
よって、例えばmaxテンプレートとmaxマクロでは
max( ++a, b );
がどうなるかが変わってくる。

720 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 18:24:52 ]
>>719
715です。
これは確かにどちらなのかによって全然違いますね。



721 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 18:37:59 ]
>>720
というかマクロで作ったら未定義の動作だろ。
*未定義の動作=インターネットのニュースグループ、comp.std.cやcomp.lang.cでは、未定義のコードを実行した結果「鼻から悪魔が飛び出しても仕様に反しない」というjoke が流行したことがありました。今でもたまにこのような表現を見ることがあります。
初級C言語Q&A(7)
ttp://www.st.rim.or.jp/~phinloda/cqa/cqa7.html


722 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 00:36:29 ]
数字を四捨五入するにはどうすればいいんでしょうか?


723 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 00:38:06 ]
JIS, ISO式四捨五入なら専用の関数がいる

724 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 00:40:44 ]
四捨五入の意味を辞書で調べて、その通りにすればいいと思います

725 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 00:51:54 ]
CをまともにやらずにC++をやろうとするのは無謀?
それなりに努力はするつもりなんだが、どうなんですか?

726 名前:デフォルトの名無しさん [2009/09/02(水) 01:13:18 ]
別にいいと思うよ。
Cでポインタを理解しておけば、C++でポインタを勉強する必要がなくなるとかそんな程度だし。

727 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 01:14:01 ]
先にC++に慣れ切ってしまうと、後からではCではプログラムを組めなくなるんじゃないかという危惧がある
ゆとり教育とかいうと聞こえが悪いけど、なんかそんな感じ
でもいまどきC++が使えない環境ってのもそうそうないだろうとも思うわけで、
まぁ別にいいんじゃないか
無謀というほどのことはない
むしろSTLとか便利なライブラリのおかげでポインタをやたら使わずに済む分つまづくポイントは減ってるかもしんない

728 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 01:30:28 ]
>>726 >>727
返答ありがとうございます

729 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 02:15:29 ]
>>725
いやいきなりC++をやる事をオススメする
禿もそう言っているし

730 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 06:50:19 ]
>>725
> それなりに努力はするつもりなんだが
この覚悟があるならC++で良いと思うよ。




731 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 06:55:07 ]
Accelerated C++やC++プライマーを使うと良いでしょう。

732 名前:デフォルトの名無しさん [2009/09/02(水) 12:33:11 ]
ビジュアルCとビジュアルCじゃないCはどの程度の違いがありますか?

733 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 13:04:47 ]
「ビジュアルCじゃないC」 とかじゃなくて具体的な製品名をあげてくれ

734 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 13:35:26 ]
try catchで配列[]の添え字範囲外の例外をキャッチ出来る?
メモリのアクセス違反のキャッチと言うべきかな

735 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 13:42:33 ]
>>734
これ?
msdn.microsoft.com/ja-jp/library/5z4bw5h5(VS.80).aspx

736 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 13:50:10 ]
>>735
それっぽいけど
エラーの種類の判別方法がわからんね
調べてみます

737 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 14:16:12 ]
>>733
ずびばせん……
例えばボーランド?というやつではどういう違いがありますか?

738 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 15:14:59 ]
Borland C++Builder と Borland C++Compiler の2種類があるけど・・・

Borland C++Builder と Visual C++ はまったく異なる。
Borland C++Builder は Visual Basic みたいに部品ポトペタで開発していくスタイル。
Visual C++ はエディタでごりごりコードを書く開発スタイル。

Borland C++Compiler と Visual C++ はごりごりコードを書く点では変わらないけれど、
Borland C++Compiler には開発環境が付いておらず、
普通のテキストエディタ(メモ帳とか)でコードを書き、コマンドラインからコンパイラを使うことになる。
(いちおうベクターあたりを探せばフリーの開発環境がいくつか見つかる)
Visual C++ には豪華な開発環境が付いていて、ボタン一発でコンパイルでき、デバッガも組み込まれている。

ちなみにボーランド(の開発製品群)はエンバカデロに買収されました。
なので、たぶん Embacadero C++Builder とか呼ぶべき。

739 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 15:18:25 ]
>>738
で、そのコードはCなの?

740 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 15:22:47 ]
そもそも Visual C というのは無いから
Visual C++ のことだろうと推測した (C#のことだったらすまんね)
説明したのは書いてるとおり Visual C++ とボーランドなんとかというやつの比較



741 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 17:07:20 ]
ははあ……なるほど
Cプラが使えるのには違いはないんですね!?
ありがとうございました!

742 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 21:45:07 ]
hoge f(int a, int b, int c)
{
return hoge(a, b, c);
}

hoge h(f(1, 2, 3));

これだとコピーコンストラクタが無視されて、あたかも
hoge h(1, 2, 3);
のような挙動になるのは仕様で決められてる?
それともたまたまコンパイラの中の人が親切だっただけで?

743 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 21:57:59 ]
>>742 仕様で許可されている。返り血最適化RVOという。
許可されているだけなので最適化されるかどうかは中の人次第。



744 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 22:08:24 ]
下記の書についてです。
  (1).ANSI C/C++辞典(ttp://www.amazon.co.jp/exec/obidos/ASIN/4320027973/)
  (2).新ANSI C言語辞典(ttp://www.amazon.co.jp/exec/obidos/ASIN/4774104329/)

CだけでなくC++についても調べたいので(1)は買う予定でいます。
(2)は色々と評判に上がることが多いようなので迷ってるのですが、
・ (2)は(1)と重複している部分が結構あったりするのでしょうか。
・ (2)ではC++についてはまったく触れられていないのでしょうか。
・ 両方とも割と昔の本ですが、仕様の変更などで現在と異なる点はあるのでしょうか。
ご存知の方がいましたら教えていただきたいです。

745 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 22:29:39 ]
C++は1998と2003年に改正されてるけど1996年の本でいいの?
いいんだ。あ、そう。

746 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 22:54:35 ]
新のつかないほうのANSI C言語辞典を持っているけど、これは今でも使える。
まあ古い本なので、ワイド文字関係と誰も使っていないC99に関する事柄が抜け落ちているけど。
だから、新のほうもおそらくおすすめできると自分は思っている。

ANSI C/C++辞典は分からない。初版は図書館で見たことあるけど、これ3版だからノーコメント。
個人的には、C++の内容を辞典的に網羅するにはページ数が少なすぎるだろうというのが気掛かり。
そのアマゾンによれば590ページらしいが、C言語辞典ですら500ページ近くある。
(初版でもC言語辞典より小さな字で詰めて配置してあったとはいえ)

747 名前:744 mailto:sage [2009/09/03(木) 00:22:24 ]
情報ありがとうございます
最近の本も探してみたのですが、評価が芳しくないものやパッとしないものが多くて…
古い本なので逆に図書館にあるかも知れませんね
近所の図書館をあたってみて、もしあれば中身を確認してみようと思います


748 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 02:00:47 ]
今まで文字列の取り扱いは char * を使ってたのですが、そろそろ汎用性を考えたコードも
意識して書かないといけないかなとか思い始めてます。
ところがなんか TCHAR だの wchar_t だの LPTCSTR だのと色々とあって、どういう時に
どれを使えばいいというのが判りません

どういう考えで、どういう型を使うのが一般的なのでしょうか

749 名前:デフォルトの名無しさん [2009/09/03(木) 02:38:19 ]
char*でおk。

750 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 02:47:38 ]
蒸し返すようだけどGET_SET_ACCESSORって要するに
「今は何もしない素通し処理にしておくけど、将来的に別の処理が入った時に
クライアントコードの書き換えが必要になるとまずいからとりあえずアクセサ
になってますよ」って意味じゃね?
必要になったら普通に書き直せばいいし、何もしてないです、ってのが一目で
分かるし、悪くないマクロだと思うが。
まぁ俺はマクロ嫌いだから極力使わないんで、これも使わないけど。



751 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 04:09:28 ]
・いつか処理が変わるかもしれないからアクセサは常に作るべき
・次のフェーズで変更されることが分かっているからアクセサを作るべき
・必要になってから作るべき

という感じで意見がいつも割れるんだよ

752 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 04:24:39 ]
ハイ!先生
「メンバは原則 public しといてゲッタセッタ必要になったら private に異動で十分」派です。

753 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 05:40:12 ]
それ呼び出し側のコードが変わるじゃん

754 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 05:51:34 ]
で?

755 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 05:54:39 ]
>>752
それだとメンバ変数名を変えたくなっても変えられないな。
Get/Setでポリモーフィズムが使えないな。

>>750
単純な代入とかだったらGET_SET_ACCESSORでいいと思うし、
頑なに拒否する人を見て何が悪いのかと思ってたけど、
デバッガで見れないって言うのがね、ちょっと嫌かな。

756 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 06:26:37 ]
そうやってアクセサとメンバ名の乖離が起こるわけですね。

ポリモーフィズムが使えないという点は全く理解できないので追加説明をしていただけると助かります。

757 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 06:46:09 ]
>>753
変わって何か問題ある?

758 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 07:12:09 ]
別に問題ないよ

759 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 10:22:49 ]
書き換えるのが面倒
プロジェクト内の全ファイルから問題の箇所を一発で全部置換できるエディタを持ってるのなら気にする必要はない

760 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 12:47:14 ]
wrproperty使ったほうがクライアントがすっきりうんこ



761 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 15:06:03 ]
汎用的なライブラリでそんな作業しようと思うとぞっとする。
変数書き換えのタイミングも追いづらいし。

762 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 15:10:09 ]
a* [2]
a[0] = new b[2]
これって可能?アクセス方法ってどうやるの?

763 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 15:31:20 ]
不可能

764 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 17:50:35 ]
プラスとマイナスをひっくりかえす関数ってありますか?
例えば5なら-5に、-9なら9に変えてくれる関数です

765 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 17:55:16 ]
関数にするまでもない
a = -b;
とかで十分

766 名前:764 mailto:sage [2009/09/03(木) 18:00:34 ]
本当だ、できました
ご親切にありがとうございました

767 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 19:31:38 ]
1.f←これってfloatとして扱うってことですよね?

いま呼んでいる本に

double r = srcR * srcA + ( 1.f - srcA ) * dstR;

というコードがあるんですが
「1.0」(double型)じゃなくて「1.f」(float型)をつかう意味ってありますか?
srcR、srcA、dstR、はどれもdouble型です。


768 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 19:46:22 ]
>>767 ありません。

769 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:02:16 ]
もともと全部floatで書いていたコードを何かの理由でdoubleに直したときに
そこだけ修正し忘れた、とか

770 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:06:08 ]
>>768-769
わざわざfloatにしてるから
何かしらメリットがあると思ったんですが
何もないんですね。
ありがとうございます。



771 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:19:58 ]
>>767
何か勘違いしてそうだから念のためにいっておくと、
 double の 1.0 は 1. と書くこともできる
 float の 1.0f は 1.f と書くこともできる

772 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:23:02 ]
shared_ptrに確保されたインスタンスがあったとして
そいつのweak_ptrを返すメンバ関数とかってどうやって実装してるの?

773 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:26:22 ]
>>756
変数がpublicだったらアクセサを経由した取得にならないからだろ。

774 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:58:14 ]
>>771
0付けなくても良かったんですね
ありがとうございます

775 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 21:13:34 ]
>>772
shared_ptrとweak_ptrはインスタンスを直接保持するのではなく、インスタンスを管理するオブジェクトを経由して保持している。
weak_ptrは管理オブジェクトを参照すればインスタンスが有効かどうかが分かる。



776 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 22:08:14 ]
wktk_ptr
kwsk_ptr
sneg_ptr

777 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 22:08:39 ]
いや、なんていうか
sp->getThisWeakPtr();
みたいなことしたいんですけど無理なんですかね?

778 名前:777 mailto:sage [2009/09/03(木) 22:46:10 ]
あ、自己解決したわ

779 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 23:32:43 ]
使いたくもない敬語を無理に使ってるってことがよく分かる

780 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 02:37:31 ]
?



781 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 13:18:09 ]
1: char a[20];
2: char a[20]={0};
3: char *a = new char[20];
これらのうちでは
動作が軽い順で言うとどうなりますでしょうか?


782 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 13:40:41 ]
1が最も軽く、3が恐らく最も重い

783 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 14:00:22 ]
3は
delete[]a;もセットで考えないといけない。

784 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 14:18:13 ]
>>782
なるほど。
1と2では、
初期化する場合としない場合とでやはり速度差があるのですね。

>>783
ありがとうございます。そうすると3は重そうですね。

ありがとうございました。

785 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 14:20:44 ]
1.のコストは0なのだ。


786 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 15:20:48 ]
C++のisoが定めた規格が
無償で(英語でもいいので)見られる
サイトを教えていただけますでしょうか?


787 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 15:39:02 ]
C++のqueueについてなんですが、
queueで作ったデータ列を配列みたいに見るってできないんでしょうか?
front()で頭を見る以外の方法が分かりません…

788 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 16:00:37 ]
>>787配列のように扱えないのがstd::queueのメリット。
配列のように使えるキューが欲しいならstd::dequeを使う。


789 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 16:02:12 ]
>>786
iso 14882 2003 pdf - Google Search
www.google.com/search?name=f&hl=en&q=iso+14882+2003+pdf

790 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 16:04:58 ]
>786
C++についてはC言語ほど詳しいわけではないけど
ドラフトなら無償で手に入れることができたはずだったんだけど、なんか本家死亡中?
規格書の正式名称をどうたらこうたらで手に入れることができる



791 名前:786 mailto:sage [2009/09/04(金) 16:08:13 ]
>>789-790
丁寧にありがとうございました。
助かりました。

792 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 16:14:52 ]
>>788
分かりました。どうもです






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

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

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