スレを勃てるまでもな ..
5:デフォルトの名無しさん
08/12/29 15:06:27
それだけ見ると
boost::shared_ptr< X > x1 ;
にインスタンス入ってないだけみたいだけど?
6:デフォルトの名無しさん
08/12/29 15:24:29
boost::shared_ptr< X > x1(new X) ;
とやると動くね
7:デフォルトの名無しさん
08/12/29 15:26:31
別に動作に不具合が生じるわけではないが、
boost::shared_ptr< X > x2(new X) ;
boost::shared_ptr< X > x3(new X) ;
もする必要はないのかね。
NULL を Add しても意味ないっしょ。
そして、NULL を Add しようとしても無視するかどうか考える必要もある。
8:デフォルトの名無しさん
08/12/29 15:42:05
boostするメリットって何?
9:デフォルトの名無しさん
08/12/29 15:46:08
>>8
auto_ptrはコンテナに入れられない
10:デフォルトの名無しさん
08/12/29 16:07:29
>>9
う、質問が悪かった
boostを利用するメリットって何?
STLで止まってるんだけど俺
11:デフォルトの名無しさん
08/12/29 16:18:07
>>10
STLを始めとした標準関数・クラスにない機能がboostにはある。
12:4
08/12/29 16:20:42
>>6,7
おっしゃるように全てnewします、すみません
13:デフォルトの名無しさん
08/12/29 16:31:01
>>11
具体的に言うと?
14:13
08/12/29 16:34:16
ググったけど
日本に馴染むには時間がかかるね
15:デフォルトの名無しさん
08/12/29 16:38:09
ワロス
16:デフォルトの名無しさん
08/12/29 16:52:10
日本人はやる気が無いからな。
17:デフォルトの名無しさん
08/12/29 17:17:41
エロス
18:デフォルトの名無しさん
08/12/29 17:19:50
テンプレートメタプログラミング
mpl - テンプレートメタプログラミングのフレームワーク。 コンパイル時アルゴリズム、シーケンス、メタ関数クラス。 Aleksey Gurtovoy 作
static_assert - 静的アサート(コンパイル時アサート)。 John Maddock 作
type_traits - 型の基本的な特徴のためのテンプレート。 John Maddock, Steve Cleary, et al 作
プリプロセッサメタプログラミング
preprocessor - 繰り返しと再帰を含むプリプロセッサメタプログラミングツール群。 Vesa Karvonen 作
並列プログラミング
thread - 移植性のある C++ マルチスレッド。 William Kempf 作
数学と計算
math - 数学の領域での多くの貢献。様々な作者による。
conversion - 数学的、多相的、辞書的キャスト Dave Abrahams and Kevlin Henney 作
interval - 数字の範囲に対する通常の数学関数の拡張。Guillaume Melquiond, Herve Bronnimann, Sylvain Pion 作
integer - 汎整数型を簡単に扱うためのヘッダ。
math/common_factor - 最大公約数と最小公倍数。 Daryle Walker 作
math/octonion - 八元数。 Hubert Holin 作
math/quaterion - 四元数。 Hubert Holin 作
日本人作ってねーw
19:デフォルトの名無しさん
08/12/29 17:32:42
実行はできるのですが、表示がおかしいです。どうにかしてください。
#include <stdio.h>
#define BEGIN {
#define END }
#define MAIN int main()
#define PPP =
#define STRINGNISURUUUU(x) #x
#define STRINGNISURUUU(x) STRINGNISURUUUU(x)
#define STRINGNISURUU(x) STRINGNISURUUU(x)
#define PERSPECTIVE(x) STRINGNISURUU(x)
#define PRINT(x) szFileName(PERSPECTIVE(x))
#define PAUSE getchar();
#define RET return 0;
MAIN
BEGIN
int (*szFileName)() PPP printf;
PRINT(パースペクティブ京都マン\n);
PAUSE
RET
END
20:デフォルトの名無しさん
08/12/29 17:46:06
どうおかしいの
21:デフォルトの名無しさん
08/12/29 17:58:55
なにこの寒いコード
22:デフォルトの名無しさん
08/12/29 18:16:08
どういう意味ですか
23:デフォルトの名無しさん
08/12/29 18:24:20
>>19
こういうのは原則としてやめろ
エディタの補間機能が働かなくなるし
24:デフォルトの名無しさん
08/12/29 18:25:54
補間機能w
25:デフォルトの名無しさん
08/12/29 18:26:39
>こういうのは原則としてやめろ
これは賛同できる
>エディタの補間機能が働かなくなるし
wwwwwwwwwwwwwwwwwwwwwwwwwwwwww
26:デフォルトの名無しさん
08/12/29 18:28:04
HOKANKINOU
27:デフォルトの名無しさん
08/12/29 18:29:08
その補間機能に痴漢機能はありますか
28:デフォルトの名無しさん
08/12/29 18:31:56
>>19
実行したら文字化けした
マジレスすると、"文字列"と#文字列は等価じゃない。
#の方はコードに日本語が混じることになるから、文字化けするよ。
29:デフォルトの名無しさん
08/12/29 18:39:56
うちは化けなかったがなあ
30:デフォルトの名無しさん
08/12/29 18:40:28
>>28
修正したら上手くいきました。ありがとうございます。
>>23
的外れな意見はいりません。私は「なぜ表示がおかしいのか」を聞いたのです。
31:デフォルトの名無しさん
08/12/29 18:41:18
>>29
コンパイラによるんじゃね?俺はBCCでやったら化けたよ。
32:デフォルトの名無しさん
08/12/29 18:43:34
なるほど。化けなかったのはVC++でした。
33:28
08/12/29 18:44:36
あー、じゃあ>>28に書いたことは処理系依存ってことかな
34:デフォルトの名無しさん
08/12/29 18:46:55
つうかプリプロセス結果を確認すれよ
35:デフォルトの名無しさん
08/12/29 18:47:25
あれをどう修正したのか気になるw
36:デフォルトの名無しさん
08/12/29 18:48:35
>>19 でこれを思い出した。
URLリンク(www.kojima-cci.or.jp)
37:デフォルトの名無しさん
08/12/29 18:56:00
修正しました
#include <stdio.h>
int main(void)
{
pritnf("パースペクティブ京都マン\n");
getchar();
return 0;
}
38:デフォルトの名無しさん
08/12/29 19:01:02
>>37
お前馬鹿か、まだエラーが出るんだけど
WinMainが未解決だよ
39:デフォルトの名無しさん
08/12/29 19:03:20
エ デ ィ タ の 補 間 機 能
40:デフォルトの名無しさん
08/12/29 19:05:27
>>38
Win厨が何寝言ほざいているんだか。
41:デフォルトの名無しさん
08/12/29 19:09:13
まじれすかよ
42:デフォルトの名無しさん
08/12/29 19:10:53
補間機能が働いたんだよ
43:デフォルトの名無しさん
08/12/29 19:12:12
これは補完機能のせいだよ
44:デフォルトの名無しさん
08/12/29 19:16:19
補間機能って便利なのか?
45:デフォルトの名無しさん
08/12/29 19:19:29
23 :デフォルトの名無しさん:2008/12/29(月) 18:24:20
>>19
こういうのは原則としてやめろ
エディタの補間機能が働かなくなるし
らしいよ
46:デフォルトの名無しさん
08/12/29 19:23:00
補完機能だな。
47:デフォルトの名無しさん
08/12/29 19:23:34
補間機能ww
48:デフォルトの名無しさん
08/12/29 19:42:55
ゼルゲノム
49:デフォルトの名無しさん
08/12/29 20:41:23
人類補間計画が発動したと聞いて
50:デフォルトの名無しさん
08/12/29 20:44:06
23 :デフォルトの名無しさん:2008/12/29(月) 18:24:20
>>19
こういうのは原則としてやめろ
エディタの補間機能が働かなくなるし
51:デフォルトの名無しさん
08/12/29 21:15:33
よく考えてみたら「補間」ってどういう意味だかわからねえ
52:デフォルトの名無しさん
08/12/29 21:29:20
それは>>23が知っているんじゃないか?
23 :デフォルトの名無しさん:2008/12/29(月) 18:24:20
>>19
こういうのは原則としてやめろ
エディタの補間機能が働かなくなるし
53:デフォルトの名無しさん
08/12/29 21:46:50
そんなに引っ張るネタか?
54:デフォルトの名無しさん
08/12/29 21:47:48
>>51
( ) を書いたら、関数の引数の数に応じて適切な数のコンマが自動的に挿入されるとか。
55:デフォルトの名無しさん
08/12/29 21:50:21
>>51
間に線引くとか
56:デフォルトの名無しさん
08/12/29 21:56:57
>>53=>>23
57:デフォルトの名無しさん
08/12/29 21:57:48
23 :デフォルトの名無しさん:2008/12/29(月) 18:24:20
>>19
こういうのは原則としてやめろ
エディタの補間機能が働かなくなるし
58:デフォルトの名無しさん
08/12/29 22:02:16
>>37
#define pritnf printf
が抜けてる
59:デフォルトの名無しさん
08/12/29 22:10:20
修正しました
#include <stdio.h>
#define pritnf printf
int
main
(void)
{pritnf("パースペクティブ京都マン\n");getchar();return 0;}
60:デフォルトの名無しさん
08/12/29 22:11:45
なんか改行が変な感じに。。
#include <stdio.h>
#define pritnf printf
int main(void)
{
pritnf("パースペクティブ京都マン\n");
getchar();
return 0;
}
61:デフォルトの名無しさん
08/12/29 22:15:32
>
62:デフォルトの名無しさん
08/12/29 22:22:47
>>57
ジサクジエン王国?
補完と補間の違いがそんなに気なるか?
明らかに不自然だけど
63:デフォルトの名無しさん
08/12/29 22:40:49
出た、「ジサクジエン」
64:デフォルトの名無しさん
08/12/29 22:41:41
>>62
気になるから貼っているとでも思っているのか
65:デフォルトの名無しさん
08/12/29 22:43:15
必死にレス貼ってる奴は何がしたいの?
66:デフォルトの名無しさん
08/12/29 22:46:48
そんなに貼ってほしいなら・・・
23 :デフォルトの名無しさん:2008/12/29(月) 18:24:20
>>19
こういうのは原則としてやめろ
エディタの補間機能が働かなくなるし
67:デフォルトの名無しさん
08/12/29 22:48:29
変なマクロを避ける主たる理由が補間機能(笑)ねぇ・・・
68:デフォルトの名無しさん
08/12/29 22:49:09
23 :デフォルトの名無しさん:2008/12/29(月) 18:24:20
>>19
こういうのは原則としてやめろ
エディタの補間機能が働かなくなるし
69:デフォルトの名無しさん
08/12/29 22:51:33
23 :デフォルトの名無しさん:2008/12/29(月) 18:24:20
>>19
こういうのは原則としてやめろ
エディタの補間機能が働かなくなるし
53 :デフォルトの名無しさん:2008/12/29(月) 21:46:50
そんなに引っ張るネタか?
62 :デフォルトの名無しさん:2008/12/29(月) 22:22:47
>>57
ジサクジエン王国?
補完と補間の違いがそんなに気なるか?
明らかに不自然だけど
65 :デフォルトの名無しさん:2008/12/29(月) 22:43:15
必死にレス貼ってる奴は何がしたいの?
こういうことですね、分かります
70:デフォルトの名無しさん
08/12/29 23:13:33
>>69
で、君は何が言いたいの?
何を知ってもらいたい?
さっぱりわからんから説明してくれ
71:デフォルトの名無しさん
08/12/29 23:20:58
23 :デフォルトの名無しさん:2008/12/29(月) 18:24:20
>>19
こういうのは原則としてやめろ
エディタの補間機能が働かなくなるし
53 :デフォルトの名無しさん:2008/12/29(月) 21:46:50
そんなに引っ張るネタか?
62 :デフォルトの名無しさん:2008/12/29(月) 22:22:47
>>57
ジサクジエン王国?
補完と補間の違いがそんなに気なるか?
明らかに不自然だけど
65 :デフォルトの名無しさん:2008/12/29(月) 22:43:15
必死にレス貼ってる奴は何がしたいの?
70 :デフォルトの名無しさん:2008/12/29(月) 23:13:33
>>69
で、君は何が言いたいの?
何を知ってもらいたい?
さっぱりわからんから説明してくれ
72:デフォルトの名無しさん
08/12/29 23:22:37
70 デフォルトの名無しさん[sage] 2008/12/29(月) 23:13:33
>>69
で、君は何が言いたいの?
何を知ってもらいたい?
さっぱりわからんから説明してくれ
71 デフォルトの名無しさん[sage] 2008/12/29(月) 23:20:58
23 :デフォルトの名無しさん:2008/12/29(月) 18:24:20
>>19
こういうのは原則としてやめろ
エディタの補間機能が働かなくなるし
53 :デフォルトの名無しさん:2008/12/29(月) 21:46:50
そんなに引っ張るネタか?
62 :デフォルトの名無しさん:2008/12/29(月) 22:22:47
>>57
ジサクジエン王国?
補完と補間の違いがそんなに気なるか?
明らかに不自然だけど
65 :デフォルトの名無しさん:2008/12/29(月) 22:43:15
必死にレス貼ってる奴は何がしたいの?
70 :デフォルトの名無しさん:2008/12/29(月) 23:13:33
>>69
で、君は何が言いたいの?
何を知ってもらいたい?
さっぱりわからんから説明してくれ
73:デフォルトの名無しさん
08/12/29 23:23:09
もういい加減にしてくれ・・・・・・・
74:デフォルトの名無しさん
08/12/29 23:29:06
72 :デフォルトの名無しさん:2008/12/29(月) 23:22:37
70 デフォルトの名無しさん[sage] 2008/12/29(月) 23:13:33
>>69
で、君は何が言いたいの?
何を知ってもらいたい?
さっぱりわからんから説明してくれ
71 デフォルトの名無しさん[sage] 2008/12/29(月) 23:20:58
23 :デフォルトの名無しさん:2008/12/29(月) 18:24:20
>>19
こういうのは原則としてやめろ
エディタの補間機能が働かなくなるし
53 :デフォルトの名無しさん:2008/12/29(月) 21:46:50
そんなに引っ張るネタか?
62 :デフォルトの名無しさん:2008/12/29(月) 22:22:47
>>57
ジサクジエン王国?
補完と補間の違いがそんなに気なるか?
明らかに不自然だけど
65 :デフォルトの名無しさん:2008/12/29(月) 22:43:15
必死にレス貼ってる奴は何がしたいの?
70 :デフォルトの名無しさん:2008/12/29(月) 23:13:33
>>69
で、君は何が言いたいの?
何を知ってもらいたい?
さっぱりわからんから説明してくれ
75:デフォルトの名無しさん
08/12/29 23:31:00
61 :デフォルトの名無しさん:2008/12/29(月) 22:15:32
>
61 :デフォルトの名無しさん:2008/12/29(月) 22:15:32
>
61 :デフォルトの名無しさん:2008/12/29(月) 22:15:32
>
61 :デフォルトの名無しさん:2008/12/29(月) 22:15:32
>
61 :デフォルトの名無しさん:2008/12/29(月) 22:15:32
>
76:デフォルトの名無しさん
08/12/29 23:35:51
/^\_
,ィー‐ '⌒´ : : : : ヽ: `ヽ、
, :≦7: : : : : : : : : : : : : : :ヘ : : : \
/: : : /: : : : : : : : : : :∧: : : : :', : : : : :\
rー<⌒\_:_ /: : : : : : :/ : : : :} ',: : : : :}: : :ヽ: : : \
|: : : : l::..::..:ヽ/: :/ : : : :/ /⌒′│j: : : ト: : : ヘ \: :ヽ、
|: : : : |:::::::::::' : / : : : :│: : : / |:ハ : : |ハ: :l : |: : :ヘ
|: : : : |::::::::::i :│ : : : : { : : : ,イ气 リ ヘ : 心}: }: :|: : : :}
. /|: : : : }::::::::::| : | : : : : /l: : :/{::ヘ_∧ j/{rイ: | : h: : :′
' :|: : : : l::::::::::{: ∧: : : /:ヘ: 〈{ Y: : :} Y: |: / }: /
{.:::|: : : : |::::::::::W::{ : :/ : : :V ゞzソ \W ,j/
└┤: : : ヘ:___/⌒l: /: : : : :| " rー┐ }:ヘ
| i: : : : : ヘ ー {^W{: : : i: | { .__{ 厶/ >>1 乙!
| }: : : : : : { : : ヽ、_|: : : l: l / }
|八: : : :∧ヽ`゛<ム : : h:{ ____ , く: : :│
|{ }: : / ヽ{ }: : :|ヘヽ、 /} : 八 } : : |
. j/ ∧ : ト、\ ヽ\} |: /リ
/ ヘ: :l \ } ヽ. j/
,,,..-‐‐‐-..,,,
/::::::::::::::::::::::::ヽ _,..-‐‐-..,,,
l::;;-‐‐-:;;::::::::::::ヽ//-‐,,__ /:::::::::::::::::::::ヽ
l:l ヽ:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ヽ
ヽ / :::::::::::::::::::::::::::::::::::::;-'^~~^'‐;;:l
~ヽ/ ::::::::::::::::::::::::::::::::ヽミ .ll
/ :::::::::::::::::::::::::::ヽ ,.ノ
/ ::::::::::::::::::::l'^~
‐/-,, (●), 、(●)、 ::::::::::::l
77:デフォルトの名無しさん
08/12/29 23:38:37
,,,..-‐‐‐-..,,,
/::::::::::::::::::::::::ヽ _,..-‐‐-..,,,
l::;;-‐‐-:;;::::::::::::ヽ//-‐,,__ /:::::::::::::::::::::ヽ
l:l ヽ:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ヽ
ヽ / :::::::::::::::::::::::::::::::::::::;-'^~~^'‐;;:l
~ヽ/ ::::::::::::::::::::::::::::::::ヽミ .ll
/ :::::::::::::::::::::::::::ヽ ,.ノ
/ ::::::::::::::::::::l'^~
‐/-,, (●), 、(●)、 ::::::::::::l
そう…。そのまま飲み込んで。僕のエクスカリバー…
78:デフォルトの名無しさん
08/12/29 23:40:26
なんでだよw
79:デフォルトの名無しさん
08/12/29 23:47:31
printf(">>77ってなんか元ネタがあるの?\n");
80:デフォルトの名無しさん
08/12/29 23:50:04
scanf("ハム太郎だと思われ", &n);
81:デフォルトの名無しさん
08/12/30 00:01:45
URLリンク(up2.viploader.net)
82:デフォルトの名無しさん
08/12/30 00:11:19
while (1) cout << _T("これがBLというやつか") << endl;
83:デフォルトの名無しさん
08/12/30 00:18:34
ハム太郎ってBLものだっけ
84:デフォルトの名無しさん
08/12/30 01:14:01
#include <stdio.h>
int sum(int,int);
int main(void);
{
int ham;
ham = sum(50,20);
printf("%d\n",ham);
printf("%d\n",ham + 20);
return 0;
}
int sum(int mix,int max)
{
int num;
num = (mix + max) / 2 * 3 -100;
return num;
}
6) : error C2447: '{' : 対応する関数ヘッダーがありません (旧形式の仮引数リスト?)
なにがちがうんじゃあああ
85:デフォルトの名無しさん
08/12/30 01:17:23
int main(void); ←!!!!!!!
86:デフォルトの名無しさん
08/12/30 01:18:02
そ・・そうか!!!
サンクス!
87:デフォルトの名無しさん
08/12/30 01:56:20
STLにマルチスレッド
例外発生しまくりなんだけど
なにかいいソースコード入力方法ない?
デバック追跡機能追加ともいいのかな
やっぱクリティカルセクション使わなければいけないのかな?
面倒くさいのよね
88:デフォルトの名無しさん
08/12/30 02:02:16
STLはスレッドアンセーフだからマルチスレッドでは使っちゃダメ
別のスレッドセーフに設計されたライブラリを使いなさい
89:デフォルトの名無しさん
08/12/30 02:12:25
>>88
クリティカルセクションで保護しても無理ですかね?
90:デフォルトの名無しさん
08/12/30 02:14:50
>>89
速度がガタ落ちになってもいいならそれでどうぞ
91:デフォルトの名無しさん
08/12/30 02:36:06
>>36
俺はそこで引き合いに出されている診断室を思い出したw
92:デフォルトの名無しさん
08/12/30 12:09:13
スマートポインターを7種類も8種類も作って、C++のコミュニティって馬鹿なの?
これを用途によって間違わずに使い分けるより、new-deleteの対応付けをきっちりやる方が余程簡単だっつーのw
ホント馬鹿だな。
93:デフォルトの名無しさん
08/12/30 12:09:22
プログラムの進捗状況をグラフみたいので表示したいんだが、
グラフィックスライブラリって何がいい?
今から勉強するんだが
94:デフォルトの名無しさん
08/12/30 12:11:03
プロジェクト管理ツール使ってみては
95:デフォルトの名無しさん
08/12/30 12:14:42
C++は標準のGCを備えない時代遅れのダメ言語
スマートポインタ(笑)を乱造する知的障害者が設計している
96:デフォルトの名無しさん
08/12/30 12:28:09
>>95 またお前か。スマートポインタの種類の数にやたら固執するね。
97:デフォルトの名無しさん
08/12/30 13:12:08
3つ以上は使いこなせなくて挫折したんだろ。
98:デフォルトの名無しさん
08/12/30 13:17:01
GCは良いことばかりではないよ。処理に時間食うし。
あと何度も使う配列はグローバルにすれば、再生成に時間食わない。
99:デフォルトの名無しさん
08/12/30 13:18:20
プログラム書く前に吟味してから作り出せばGC(に任せる処理)は無くせるだろ。
100:デフォルトの名無しさん
08/12/30 13:49:40
>>99
それならスマートポインタ(笑)もいらないだろ馬鹿
101:デフォルトの名無しさん
08/12/30 13:50:30
>>100
RAIIを知らない馬鹿が出てきたよ
102:デフォルトの名無しさん
08/12/30 14:03:27
マジレスすると、
単純にnew delete の解放忘れで発生するバグと
ごちゃごちゃしたスマートポインタの使い間違いによるバグと
どっちが発生しやすいと思う?
後者の方が断然多いと思うのだが。
103:デフォルトの名無しさん
08/12/30 14:12:15
>>77みたいなのがスマートポインタ?
104:デフォルトの名無しさん
08/12/30 14:16:44
ゴチャゴチャしたスマートポインタって、たとえばどんな?
105:デフォルトの名無しさん
08/12/30 14:25:06
auto_ptr
weak_ptr
intrusive_ptr
scoped_ptr
106:デフォルトの名無しさん
08/12/30 14:26:17
>>105
それをゴチャゴチャしていると感じるなら、単にそれはお前の勉強不足。
自分の勉強不足を棚に上げてよく言うよ
107:デフォルトの名無しさん
08/12/30 14:29:46
スマートポインタですら管理できないならC/C++はやめた方が・・・
108:デフォルトの名無しさん
08/12/30 14:33:19
>>106
で、new-deleteよりスマートポインタの方が問題が発生しにくいことについて、
お前の「勉強」の成果は述べないの?
109:デフォルトの名無しさん
08/12/30 14:35:21
>>108
人の事を気にする前に自分の能の無さを嘆けよw
110:デフォルトの名無しさん
08/12/30 14:39:43
new-deleteの方が、スマートポインタより問題が少ないという仮説を述べた。
それに対して>>106は勉強不足とか頓珍漢な事を言っている。
勉強不足と言うなら、どう勉強不足なのか具体的に説明しろ。
それが出来ないなら>>106は単なる馬鹿だ。話にならん。
111:デフォルトの名無しさん
08/12/30 14:43:54
>>110
うぜえんだよゴチャゴチャと
スマートポインタについて説明しだすと長くなる
勉強にも長い時間がかかるしな
お前の屁理屈に付き合ってる時間はない
112:デフォルトの名無しさん
08/12/30 14:46:22
仮説って・・・
根拠もなく「俺は思うのだが」を仮説と呼ぶのか?
113:デフォルトの名無しさん
08/12/30 14:51:39
シチューの方が、カレーよりうまいという仮説を述べた。
それに対して>>106は食わず嫌いだとか頓珍漢な事を言っている。
食わず嫌いと言うのなら、どう食わず嫌いなのか具体的に説明しろ。
それが出来ないなら>>106は単なる馬鹿だ。話にならん。
114:デフォルトの名無しさん
08/12/30 15:10:05
GCもnewも使わず、STL一本でいけば良いと思うんだが。
そしたら自動変数と同じ使い方でしょ。
115:デフォルトの名無しさん
08/12/30 15:11:36
速度や安定性重視ならはじめに確保したメモリを使い回すのが良いし。
頻繁に動的確保するのは、速度と安定面でよくない。
116:デフォルトの名無しさん
08/12/30 15:15:46
STLを含めて動的確保は実測してみると速度が遅い。
C++の自動変数だと、あらかじめ確保した領域を、使い回すから、確保と解放が無くて良い。
117:デフォルトの名無しさん
08/12/30 15:39:07
>>116
自動変数はスタック領域だから、あらかじめ確保した領域を使いまわすってのは
ちょっと違うだろ
まぁ 「厳密にいえば間違ってはいない」 ってやつだろうが
118:デフォルトの名無しさん
08/12/30 15:40:43
ageてる釣り野郎に反応しちゃダメだってば
119:デフォルトの名無しさん
08/12/30 15:53:49
スタック領域 = あらかじめ確保した領域
必要なサイズがコンパイル時に決定されて、それを確保したらC++が管理して使い回す。
120:デフォルトの名無しさん
08/12/30 16:21:57
スマートポインタに迷ったらshared_ptr/array使っておけばいいじゃない。
循環参照?何それおいしいの?
まあでもスマートポインタの乱立を許したのはC++の失策だったと思う。
auto_ptrの代わりにshared_ptrをC++98の時点で入れておけば少しは良くなったと思うんだけど。
121:デフォルトの名無しさん
08/12/30 16:25:14
>>108
こいつ頭おかしいな。
これで仕事とか勤まるのか?
122:デフォルトの名無しさん
08/12/30 16:27:29
>>121
こいつ頭おかしいな。
これで仕事とか勤まるのか?
123:デフォルトの名無しさん
08/12/30 16:29:37
自作自演くせえなあ
124:4
08/12/30 16:30:05
4ですが、あまりのスルーされっぷりに泣きそうです
125:デフォルトの名無しさん
08/12/30 16:32:59
>>124
>>5-7>>12
126:デフォルトの名無しさん
08/12/30 16:43:10
>>123
だってマジで頭おかしいもん。
new-deleteのほうが問題起きないって、証明どころか傍証をあげるとか
説明もいっさいなしで、>>108の頭の中では、いつのまにか証明済みっていうか
「事実」になちゃってるわけでしょ?
>>110で、多少おかしいと思ったのか「仮説」って言い直してるけど、
自分から言い出したのに、相変わらず相手に反論しろって言ってるし。
127:デフォルトの名無しさん
08/12/30 16:50:11
new-deleteでは、newしたら必ずdeleteすることだけを覚えておけば問題が起きない。
スマートポインタは乱立するそれぞれのポインタの特性を覚えておかなければいけない。
例えば、shared_ptrを使うところをweak_ptr を使ったら死亡。
故に、new-deleteの方が問題起きない。
証明終
128:デフォルトの名無しさん
08/12/30 16:51:39
>>127
俺がいまいじってるソースは、異常ケースでreturnして、delete忘れてるってのが
何箇所もあるんだけど。
129:デフォルトの名無しさん
08/12/30 16:52:36
>>128
それはお前があほなだけ
130:デフォルトの名無しさん
08/12/30 16:54:21
すげぇ真性のバカだな
証明終
とか書いちゃってもうみてらんない
131:デフォルトの名無しさん
08/12/30 16:56:18
注意してコーディングしてればなんとかなるってもんじゃないから、
あたらしい言語はGC採用してるんだろ。
132:デフォルトの名無しさん
08/12/30 16:59:13
つまり、C++は標準のGCを備えない時代遅れのダメ言語ってことだな。
133:デフォルトの名無しさん
08/12/30 17:01:52
もうそういう事でいいようぜぇ
134:デフォルトの名無しさん
08/12/30 17:02:26
悔しいが、反論できない、、
135:デフォルトの名無しさん
08/12/30 17:03:54
C++/CLIがあるじゃないか
136:デフォルトの名無しさん
08/12/30 17:03:57
Dみたいに、GCあって、スコープが外れたらデストラクタ(相当)が呼ばれるって
仕組みがあればいいけど、ま、C++ならスマートポインタでいいかな。
137:デフォルトの名無しさん
08/12/30 17:06:10
auto と同じ使い方だけで良いんだったらSTL使えばいいじゃん
138:デフォルトの名無しさん
08/12/30 17:07:05
GCはメモリに対してリークの心配がなくなるというだけであって、
それ以外のリソースには無力だぞ
139:デフォルトの名無しさん
08/12/30 17:09:22
>>130
反論できないからってごまかしてんじゃねーよカス
140:デフォルトの名無しさん
08/12/30 17:11:30
GCが標準装備だったら、高性能なハードでない場合に困るだろ。
組み込みとか
組み込みシステム - Wikipedia
具体例
家庭用電気機械器具
炊飯器、洗濯機、エアコンディショナー
デジタルカメラ
テレビ、ビデオデッキなどAV機器
ゲーム機、携帯電話などのデジタル家電
エレベーター
信号機
複写機
自動販売機
パチンコ機、パチスロ機、スロットマシン
141:デフォルトの名無しさん
08/12/30 17:13:54
世の中、参照カウントでGC付きって言っている言語処理系だってあるんだから、
C++でコーディングするときも常にshared_ptrを使えばいいんだよ。
>>127の「newしたら必ずdeleteすること」を次のように言い換える。
new→newしてshared_ptrの構築
delete→reset()
128の問題は無くなるし、循環参照もnew-deleteで(手動でやれば)問題にならないならば、
shared_ptrでも手動でやれば問題ないはず。
性能とか組込とか知らんがなという前提で。
142:デフォルトの名無しさん
08/12/30 17:18:21
ガベージコレクションはプログラムの本来の動作とは別に時間のかかる処理であり、実装によっては一旦処理が開始されると他の処理を止め、CPUを長時間(数百ミリ秒から数十秒)占有することもある。
さらに、ガベージコレクションの動作タイミングの予測やCPUの占有時間の事前予測などが困難なことから、デッドラインが決められてるリアルタイムシステムには向いていない。
ガベージコレクション - Wikipedia
Wikipedia項目リンク
143:デフォルトの名無しさん
08/12/30 17:19:32
あんまり関数を分けると重くなるから良くないって聞いたことあるけど、それって
昔のCPUがしょぼしょぼの時の話しで今ではそれほど気にしなくていい?
たまに数行づつで関数に分けてる人いるけどそのぐらいまでやっちゃっていいの?
144:デフォルトの名無しさん
08/12/30 17:22:38
>>143
程度によるが、最新のコンパイラを使っていれば差はたいしてでない。
分割したりオブジェクト指向にすることは、管理が楽になるという利点がある。
145:デフォルトの名無しさん
08/12/30 17:25:21
でも、再帰呼び出しは確実に遅くなるよ。ループに書き換えられるという再帰定理というのがあるので
なるべく再帰呼び出しは使わない方が良い。
146:デフォルトの名無しさん
08/12/30 17:26:55
「早すぎる最適化は諸悪の根源」
実行性能が許容できないくらい悪くて、その原因が本当に
関数呼び出しのコストだと分かった時点で初めて
そういう小手先の手段に出るものだ
そんな関数の分け方くらいではまず間違いなく性能に何の影響もないと思うが
147:デフォルトの名無しさん
08/12/30 17:27:36
>>143
数行とか一行の関数を書くとか普通だから。
148:デフォルトの名無しさん
08/12/30 17:29:27
>>139
おまえは常に「覚えておいて」プログラム組んでろカス
149:デフォルトの名無しさん
08/12/30 17:30:33
>>145
意味が分からない。
「末尾再帰だったら、再帰でもいい」とかだったら意味が通じるけど。
(再帰だって、速度に問題なかったらふつーに使うわな。あたりまえだけど)
150:デフォルトの名無しさん
08/12/30 17:31:25
再帰はループに書き換えられるよ!って言ってるんだろう
151:デフォルトの名無しさん
08/12/30 17:35:07
関数呼び出しに、時間食ってるのでは? と予測してマクロ関数に書き換えてみたり
するのだが、ほとんど差が出ないという経験から関数として\を使うマクロは使わないことにしている。
152:デフォルトの名無しさん
08/12/30 17:39:09
ありがとう。とりあえずガンガン関数に分けちゃって問題ないんだね
これからはガンガン分けていくことにします
153:デフォルトの名無しさん
08/12/30 17:44:46
MS-BASICはガベージコレクション内蔵らしいね
154:デフォルトの名無しさん
08/12/30 17:47:08
>>143
数行の関数を作ってもOKだし推奨
関数の呼び出しのコストが問題になるのはループ内とかとにかく繰り返し多数呼び出される場合だね。そういう場合はinlineを使う。
仮想関数は少し重めだからループ内では要注意
最近のコンパイラはinlineの指定をしなくても勝手に判断してインライン展開をしてくれるから気にしないでいい。
155:デフォルトの名無しさん
08/12/30 17:52:21
>>153
ああ文字列の操作領域だろ
確か3Kバイトが標準で一杯になったらGCを走らせる
8ビットならではの世界だった
N88BASIC(86)はもう少し広いだろうが
156:デフォルトの名無しさん
08/12/30 18:01:55
突然マイコンが止まるあれだね
157:デフォルトの名無しさん
08/12/30 18:11:57
そうそう
BASICで文字列を頻繁に操作していると時々止まった
その謎が解けるまで(つまりはGCだという事を知るまで)時間がかかった
158:デフォルトの名無しさん
08/12/30 18:29:05
GC GCってゲームキューブじゃないのなw
何の騒ぎかわからんかったよ
159:デフォルトの名無しさん
08/12/30 18:31:28
>158
ゲーム関連板ならゲームキューブのことだろうけど
ここはプログラム板だぞw ガベージコレクションに決まっておろう
160:デフォルトの名無しさん
08/12/30 19:07:49
どの言語を覚えればいいの・・?
C言語ってだめなの??
161:デフォルトの名無しさん
08/12/30 19:09:13
Cでいいよ。C++でもいいけど。
162:デフォルトの名無しさん
08/12/30 19:25:30
C++ってCの付けたし見たいなものだよね・・?
163:デフォルトの名無しさん
08/12/30 19:26:54
CがC++の一部を抜き出したものだと思え
164:デフォルトの名無しさん
08/12/30 19:28:13
わかりました
165:デフォルトの名無しさん
08/12/30 19:29:05
>>162
いまや全くの別物のくせに、そういう偏見が間違っているとも言えない微妙な関係。
166:デフォルトの名無しさん
08/12/30 19:37:27
まあ、質問スレを共通にされるくらいだから、同じようなものだ
167:デフォルトの名無しさん
08/12/30 20:50:04
結論としては、shared_ptr以外は不要ってことで、おk?
168:デフォルトの名無しさん
08/12/30 20:52:27
>>167
他のスマートポインタも使い方憶えればいいんじゃない?
169:デフォルトの名無しさん
08/12/30 20:55:54
struct shiken_in test;
memset(&test,0,sizeof(test));
このような文があるのですが、
&testがさす意味はなんなのでしょうか?
&がつく意味がよくわからないのです
170:デフォルトの名無しさん
08/12/30 20:58:52
アドレスです
171:デフォルトの名無しさん
08/12/30 21:02:39
>>168
覚えたとしても、それらを使い間違わないようにビクビクしながら使うよりは、
単純にshared_ptr使った方が、バグが少ない堅いコーディングができると思うけど。
172:デフォルトの名無しさん
08/12/30 21:07:19
>>170
ポインタの宣言がなくてもアドレスは使用可なのでしょうか
ていうか、子の場合アドレスで指定する意味はなんでしょうか?
173:デフォルトの名無しさん
08/12/30 21:10:39
コピーを避けるためです。
174:デフォルトの名無しさん
08/12/30 21:30:52
ポインタならコピーをされる?
175:デフォルトの名無しさん
08/12/30 21:38:00
ポインタなら、ポインタだけ渡せばいいからデータ自体はコピーされない
176:デフォルトの名無しさん
08/12/30 21:43:01
>>167
自ら使うのはshared_ptrだけでもいい。次期標準にも入る。
入るおかげで、C++0xでは、標準に入っていないのは無視してOKと言えるようになるんだが。
例えば、>>105で挙げられているintrusive_ptrは知っていても大多数が使ったことないだろう(俺もだ)。
scoped_ptrはauto_ptrとまとめてunique_ptrになる。
#びくびくせず自信を持って使えるならweak_ptrも使ってほしい。
177:169
08/12/30 21:51:30
ますますよくわからなくなってきた
まず、構造体を宣言して
sizeof(test)でなにをかえすんだろうか
testの中身は宣言だけしてるだけで、実際何もはいってない?いや、0ならはいってるのかな
で、memsetでそのtestのアドレスの先頭からだけど、testのアドレスの中身じゃなくて、アドレスの
先頭から0で埋めるとかおかしくないのかな。アドレスであってアドレスが差す値じゃないから。
178:デフォルトの名無しさん
08/12/30 21:57:22
memsetは、アドレスが指す領域を指定した値で埋める関数だよ
179:デフォルトの名無しさん
08/12/30 21:57:33
sizeof testはsizeof (struct shiken_in)と同じと決まっている。
memsetにはアドレスを渡すけど、
memsetが0で埋めるのは、アドレスが差す値。
180:デフォルトの名無しさん
08/12/30 21:59:08
変数じゃなくて、変数の「場所」を渡してる
memsetはその「場所」をみてそこをsizeof(test)バイト分0で埋めてる
181:デフォルトの名無しさん
08/12/30 22:15:59
>>171
まあ、でも、そこまで難しいものでもないし。
182:169
08/12/30 22:20:36
実際、sizeof(test)は何バイトになるのでしょうか?
183:デフォルトの名無しさん
08/12/30 22:22:30
わかりません
184:デフォルトの名無しさん
08/12/30 22:26:41
>>182
testの型による。
testはどう宣言してるの?
185:169
08/12/30 22:40:44
struct shiken_in test;
>>184
はい、このように宣言しております
186:デフォルトの名無しさん
08/12/30 22:47:17
やべぇちょっと笑ってしまった
187:デフォルトの名無しさん
08/12/30 22:58:22
structなんだからstruct shiken_in がなんなのか探せ
188:デフォルトの名無しさん
08/12/30 23:00:07
そもそも shiken_in が分かったところで
アラインメントの設定が分からんとサイズは分からんだろ。
189:デフォルトの名無しさん
08/12/30 23:02:16
>182
shiken_in のサイズになる。
具体的には環境による。
190:169
08/12/30 23:05:34
sockaddr_in
すみません、正確にはこういう構造体です
中身はかいてません。sizeofしたら何バイトになるのかな?
191:デフォルトの名無しさん
08/12/30 23:06:45
sizeof すればいいじゃん。
192:デフォルトの名無しさん
08/12/30 23:13:27
だから構造体のメンバの内容とアライメントの2つの情報がないと誰にも答えられないんだってば。
そして理屈抜きでサイズだけ知りたいなら5行くらいのソースを書いてsizeofを見るのが一番早い。
193:デフォルトの名無しさん
08/12/30 23:27:35
typedef struct DADADADADADADA
{
char p[1024];
} CDDB;
CDDB cddb;
int main(void)
{
return cddb;
}
194:デフォルトの名無しさん
08/12/30 23:28:33
printf("sizeof(struct sokaddr_in)=%d\n", sizeof(struct sockaddr_in));
195:デフォルトの名無しさん
08/12/30 23:36:16
printf("%d\n", sizeof(printf));
196:デフォルトの名無しさん
08/12/31 12:48:14
>>140
言語が標準GCを備えることと、GCが言語の使用と不可分でシステムに組み込まれることとは別だろ。
「高性能なハード」とやらの場合には、GCを組み込んで
「高性能なハード」でない場合には、GCを組み込まず手動のメモリ管理を使用してシステムを構築すればいい。
C++はマルチパラダイム言語とやらを標榜するくらいだから、それくらい普通にするだろ。
それなのに何故標準GCを提供しないのか意味不明。
きっと言語設計者およびその取り巻きはバカなんだろうな。
197:デフォルトの名無しさん
08/12/31 12:55:47
ということにしたいのですね
198:デフォルトの名無しさん
08/12/31 12:58:24
したいのではなく、事実なのです。
199:デフォルトの名無しさん
08/12/31 12:58:42
>>196
高性能なハードでない場合には手動のメモリ管理を使用してってwwwwwwww
その辺が自動化できればGCを導入するのに必要な苦労がいないし、GCもいらないじゃんwwww
バカかこいつは
200:デフォルトの名無しさん
08/12/31 12:59:16
ということにしたいのですね
201:デフォルトの名無しさん
08/12/31 12:59:29
>>199
お前は、先ず日本語を勉強しろ。
202:デフォルトの名無しさん
08/12/31 13:00:23
>>196
GCの有無で言語仕様が大きく変わるんだよ。
GCが必要な人はGCを持つ言語を使えばいい。GCが不要な人はGCがない言語を使えばいい。
203:デフォルトの名無しさん
08/12/31 13:04:28
>>202
変わるのではなく、パラダイムが追加されればいいんだろ。
GCが必要な人はC++をGCを持つ言語として使えばいい。GCが不要な人はC++をGCがない言語として使えばいい。
C++はそういうことが得意な言語じゃないのか?
204:デフォルトの名無しさん
08/12/31 13:05:56
C++はgcがない言語
205:デフォルトの名無しさん
08/12/31 14:17:07
>>203
パラダイムという言葉を使わずに、C++にGCを実装するのに必要なことは何か言ってごらん。
206:デフォルトの名無しさん
08/12/31 14:18:57
ゲームキューブで議論するスレだったのか
207:デフォルトの名無しさん
08/12/31 14:21:44
C++/CLI使えばいいじゃん
208:デフォルトの名無しさん
08/12/31 14:27:23
>>203
一方C++はスマートポインタを実装した。
209:デフォルトの名無しさん
08/12/31 14:36:33
一方STL野郎は独自のアルゴリズムを実装した
210:デフォルトの名無しさん
08/12/31 15:00:21
>>205
先ず、お前の勘違いを訂正する。
実装するのはC++にではなく、C++の処理系に対して。
C++の処理系にGCを実装するのに必要なことは
GCの設計/コーディング/デバグ
それ以前に、C++の言語仕様にGCの仕様を追加する必要がある。
211:デフォルトの名無しさん
08/12/31 15:07:23
お手軽に付け外しができる機能とでも思ってるのか
212:デフォルトの名無しさん
08/12/31 15:09:38
日本語でおk
213:デフォルトの名無しさん
08/12/31 15:28:19
お前らがグダグダ何と言おうが、既に将来の規格改定でGC導入は間違いない路線。
残念ながらC++0xには間に合わなさそうだけど。
現状こんな感じ。
URLリンク(d.hatena.ne.jp)
214:205
08/12/31 15:36:48
>>210
よし、訂正された。
つづきをどーぞ
215:デフォルトの名無しさん
08/12/31 15:39:09
>>214
何の続き?
216:デフォルトの名無しさん
08/12/31 16:52:51
C++0x
217:デフォルトの名無しさん
08/12/31 17:19:59
素晴らしいオセロゲームを作りたいんですが・・・
作れるようになるまでに、どれくらいかかるんでしょうか?
218:デフォルトの名無しさん
08/12/31 17:24:45
自分が出来を素晴らしいと思えるようになるまで。
219:デフォルトの名無しさん
08/12/31 17:32:14
3ヶ月くらい
220:デフォルトの名無しさん
08/12/31 17:37:55
>>217
>>23の言う補間機能を使うといいよ
221:デフォルトの名無しさん
08/12/31 17:48:14
23 :デフォルトの名無しさん:2008/12/29(月) 18:24:20
>>19
こういうのは原則としてやめろ
エディタの補間機能が働かなくなるし
222:デフォルトの名無しさん
08/12/31 17:49:40
>>217
素晴らしいの意味によるし、経験にも依るでしょ。
強いという意味なら自分で考えるならそれなりに解析が必要。
見栄えという意味ならお絵描き/画像作りが必要。
223:デフォルトの名無しさん
08/12/31 18:03:39
どれくらいって聞いてるのに、グダグダうるせーっつーの。
お前らは期間を示せばいいんだよ。前提があるなら前提も示せっつーの。
224:デフォルトの名無しさん
08/12/31 18:18:45
>>223
わざわざ答えてもらってるのに失礼じゃないですか
そういうレスはやめてください
225:デフォルトの名無しさん
08/12/31 18:25:28
>>224
いや、答えてないから。
226:デフォルトの名無しさん
08/12/31 18:30:49
>>225
グダグダうるせーよwwwww
227:デフォルトの名無しさん
08/12/31 18:37:07
223 :デフォルトの名無しさん:2008/12/31(水) 18:03:39
どれくらいって聞いてるのに、グダグダうるせーっつーの。
お前らは期間を示せばいいんだよ。前提があるなら前提も示せっつーの。
228:デフォルトの名無しさん
08/12/31 18:38:11
223 :デフォルトの名無しさん:2008/12/31(水) 18:03:39
どれくらいって聞いてるのに、グダグダうるせーっつーの。
お前らは期間を示せばいいんだよ。前提があるなら前提も示せっつーの。
229:デフォルトの名無しさん
08/12/31 18:55:27
>>222
C言語を学ぶだけではなく、絵もうまくなる必要があるってことですね!
230:デフォルトの名無しさん
08/12/31 19:03:15
223 :デフォルトの名無しさん:2008/12/31(水) 18:03:39
どれくらいって聞いてるのに、グダグダうるせーっつーの。
お前らは期間を示せばいいんだよ。前提があるなら前提も示せっつーの。
231:デフォルトの名無しさん
08/12/31 19:05:11
223 :デフォルトの名無しさん:2008/12/31(水) 18:03:39
どれくらいって聞いてるのに、グダグダうるせーっつーの。
お前らは期間を示せばいいんだよ。前提があるなら前提も示せっつーの。
232:デフォルトの名無しさん
08/12/31 19:14:34
223 :デフォルトの名無しさん:2008/12/31(水) 18:03:39
どれくらいって聞いてるのに、グダグダうるせーっつーの。
お前らは期間を示せばいいんだよ。前提があるなら前提も示せっつーの。
233:デフォルトの名無しさん
08/12/31 19:25:07
>>223
期間 : 5か月くらい
前提 : 俺が作るとして
234:デフォルトの名無しさん
08/12/31 19:44:37
>>219 >>233
thx
235:デフォルトの名無しさん
08/12/31 19:44:41
223 :デフォルトの名無しさん:2008/12/31(水) 18:03:39
どれくらいって聞いてるのに、グダグダうるせーっつーの。
お前らは期間を示せばいいんだよ。前提があるなら前提も示せっつーの。
236:デフォルトの名無しさん
08/12/31 20:27:30
223 :デフォルトの名無しさん:2008/12/31(水) 18:03:39
どれくらいって聞いてるのに、グダグダうるせーっつーの。
お前らは期間を示せばいいんだよ。前提があるなら前提も示せっつーの。
237:デフォルトの名無しさん
08/12/31 23:07:08
なんか、新しいスレになってから荒れてるね
238:デフォルトの名無しさん
08/12/31 23:16:17
223 :デフォルトの名無しさん:2008/12/31(水) 18:03:39
どれくらいって聞いてるのに、グダグダうるせーっつーの。
お前らは期間を示せばいいんだよ。前提があるなら前提も示せっつーの。
239:デフォルトの名無しさん
09/01/01 00:17:12
だめだ・・・僕にはプログラミングなんて・・無理かもしれない・・
240:デフォルトの名無しさん
09/01/01 00:31:42
なぜ?具体的に。
241:デフォルトの名無しさん
09/01/01 00:39:35
・・いま苦Cで文字列を扱う方法してるんですけど・・
そこで少し分厚い壁に当たってしまいました・・
こんなしょっぱなから壁にぶつかるようじゃ、俺にC言語習得なんて無理なんじゃないか・・?
って考えてます・・
242:デフォルトの名無しさん
09/01/01 00:45:46
全然具体的じゃないきがするなぁ
プログラムでつまづくのは別にいいけど「良い質問/相談」を持ちかけるのはやっぱり必要だとオモ
あ、あけましておめでとう
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5371日前に更新/192 KB
担当:undef