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


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

C++上級者が集まるスレ



1 名前:デフォルトの名無しさん [04/09/14 07:16:41]
ここでは他のC++スレよりもより一層と高いレベルでの情報交換・体験談などを行うスレです。
我こそはC++プロフェッショナルだという方の書き込みをお待ちしております。


132 名前:デフォルトの名無しさん [04/12/14 20:36:46]
一通り読んだが、これが上級者スレ?じゃぁおれは神だな。
何でも質問してみ?ん?

133 名前:デフォルトの名無しさん mailto:sage [04/12/14 22:55:52]
>>132
gcc で "\" を挿入せずにシフトJISのソースファイルをコンパイルした時に出る
unknown escape sequence のワーニングを抑止するコンパイラオプションを教えてください、神様。

134 名前:132 [04/12/14 23:00:10]
そんなものはぐぐればいくらでもあるのじゃ。ふぉっふぉっふぉ。
ttp://www.asahi-net.or.jp/~uc3k-ymd/Lesson/Section01/gcc_sjis.html
次ぃ!

135 名前:デフォルトの名無しさん mailto:sage [04/12/14 23:01:47]
>>134
それコンパイラオプションじゃない気が…

136 名前:132 [04/12/14 23:04:07]
うっ。神は朝早いから、もう寝る!

137 名前:デフォルトの名無しさん mailto:sage [04/12/14 23:04:45]
>>134
あの、神様、大変申し上げ難いのですが、
そのページに書いてあるのはまさに "\" を挿入して回避する方法で、
私が知りたいのは "\" を挿入せずにワーニングを抑止する方法なんです。

138 名前:デフォルトの名無しさん mailto:sage [04/12/14 23:16:19]
#define \ \\

139 名前:デフォルトの名無しさん [04/12/15 06:38:16]
ワーニングとか言ってる時点でダメ
正しくはヲーニング

140 名前:デフォルトの名無しさん mailto:sage [04/12/15 09:01:49]
ウォーニングですから。



141 名前:デフォルトの名無しさん [04/12/15 11:21:01]
ヲーニングとウォーニングの発音上の違いを教えてください

142 名前:デフォルトの名無しさん mailto:sage [04/12/15 11:23:52]
カタカナで書いてる時点でダメ
目糞鼻糞だ

143 名前:デフォルトの名無しさん mailto:sage [04/12/15 11:49:23]
正しくは目糞鼻糞チンポマンコ

144 名前:デフォルトの名無しさん mailto:sage [04/12/15 15:27:26]
ここは上級な会話がかわされるインターネッツですね

145 名前:デフォルトの名無しさん [04/12/15 21:36:32]
おれはチンポとマンコなら圧倒的にマンコがいいが。

146 名前:デフォルトの名無しさん [04/12/15 22:19:10]
gccをビルドするときのコンフィグでは?
》神様

147 名前:デフォルトの名無しさん [04/12/18 11:44:54]
上級すぎて感動

148 名前:デフォルトの名無しさん mailto:sage [04/12/21 23:00:57]
>>122
ってゆ〜か、&ってintの演算子だっての。

bool a=b=true;
if( (int)a&(int)b ){}

こう書いてるのと同じだよ。
恥ずかしすぎ


149 名前:デフォルトの名無しさん mailto:sage [04/12/21 23:53:48]
>>148
intだけじゃない。
unsigned intとか、long intとか。

150 名前:デフォルトの名無しさん mailto:sage [04/12/22 11:35:04]
そういうとき&を使ったのは&&がなかった時代の名残
C++で使う意味はない



151 名前:デフォルトの名無しさん mailto:sage [04/12/22 12:01:28]
トゥルルル、トゥルルル・・
女「もしもし、いきなりごめんね。
  クリスマスイブって暇?」
男「えッ!?う、うん暇だよ!」
女「m9(^Д^)プギャーーーッ 」
ガチャ、ツー、ツー

152 名前:デフォルトの名無しさん [04/12/30 19:54:42]
Hage

153 名前:デフォルトの名無しさん mailto:age [04/12/31 14:48:49]
とりあえずageとこうや

154 名前:デフォルトの名無しさん [04/12/31 15:40:23]
おまえらに理解できるか?
//可変長構造体
template<class t_base,unsigned int t_cb>
class __declspec(novtable) CAnySizeStruct
{
char m_bytes[t_cb];
t_base& m_ref;
CAnySizeStruct();
~CAnySizeStruct();
unsigned int GetSize();t_base& GetRef();
};

155 名前:デフォルトの名無しさん mailto:sage [04/12/31 15:54:40]
>>154
何でメンバが全部private?
その__declspec(novtable)て意味あるの?
www.microsoft.com/japan/developer/library/vccore/_langref_novtable.htm

156 名前:デフォルトの名無しさん [04/12/31 16:12:06]
...,t_cb=sizeof(t_base)>
...
public:...

MSC以外であるかもな

157 名前:デフォルトの名無しさん mailto:sage [04/12/31 16:48:53]
>>133
コンパイルオプションじゃないが…

#define MULTIBYTE_CHARSでgccをcompile。
LANG環境変数をC-SJISにして、gccを使う。
mbcsじゃなくて、wcsとして扱う必要があります。

158 名前:デフォルトの名無しさん [05/01/04 01:54:51]
>gccをcompile
????????

159 名前:デフォルトの名無しさん mailto:sage [05/01/04 02:00:56]
え?

160 名前:デフォルトの名無しさん mailto:sage [05/01/04 11:15:42]
>158
そんな人もいる。超時間掛かるけど



161 名前:デフォルトの名無しさん [05/01/04 11:57:12]
挑戦者、かかってこいやー

162 名前:デフォルトの名無しさん mailto:sage [05/01/05 02:01:33]
こ の ス レ は レ ベ ル が 高 い な


163 名前:デフォルトの名無しさん mailto:sage [05/01/05 02:10:41]
A型乙

164 名前:デフォルトの名無しさん mailto:sage [05/01/06 09:15:42]
>>158
binary配布のgccだと、
#define MULTIBYTE_CHARS
でcompileされてないのが多いんですよ。

165 名前:デフォルトの名無しさん [05/01/06 10:18:13]
>164
時間掛けすぎって言うか、GCCの日本語サポーターは何やってんだ?
まあ、czenyenかUTF使えって

166 名前:デフォルトの名無しさん mailto:sage [05/01/06 11:12:35]
>>165
ソースコード内の
・文字リテラル
・文字列リテラル
のwchar_tを諦めてmbcsのみで行くならUTF-8でOK。

けど最初のお題がShift_JISなので、MULTIBYTE_CHARSがいいね。
ただ、wchar_tになるから、mbcsとしては扱えないけどね。

167 名前:デフォルトの名無しさん [05/02/22 10:08:20 ]
constってどこがそんなに難しいの?

168 名前:デフォルトの名無しさん mailto:sage [05/02/22 10:32:29 ]
>>167 pc5.2ch.net/test/read.cgi/tech/1078193971/

169 名前:デフォルトの名無しさん [05/03/09 17:16:02 ]
>>167
constなんて簡単
#defineとちょっとちがうだけ

170 名前:デフォルトの名無しさん mailto:sage [05/03/09 17:39:40 ]
はぁ?



171 名前:デフォルトの名無しさん mailto:sage [05/03/09 23:42:09 ]
>>169のような超下級者が集まるスレはここですか?

172 名前:デフォルトの名無しさん mailto:sage [05/03/10 10:20:15 ]
いいなあ。きっと>>169はふさふさなんだろうなあ。

173 名前:デフォルトの名無しさん mailto:sage [05/03/10 10:58:14 ]
ふさふさ・・(*´Д`)<萌!

174 名前:デフォルトの名無しさん [05/03/10 17:20:37 ]
おい,お前ら,標準的な例外
domain_error
invalid_argument
length_error
out_of_range
overflow_error
range_error
underflow_error
の使い分けについて,どんな指針を置いていますか?

175 名前:デフォルトの名無しさん mailto:sage [05/03/10 17:22:49 ]
>>174
読んだまま。

176 名前:デフォルトの名無しさん mailto:sage [05/03/10 17:41:53 ]
例外使うのは例外なく自分よがりなプログラマ

177 名前:デフォルトの名無しさん mailto:sage [05/03/10 20:33:27 ]
と例外なくバカの>176はつぶやきました

178 名前:デフォルトの名無しさん mailto:sage [05/03/10 22:00:21 ]
C++上級者ってすごいな

179 名前:デフォルトの名無しさん mailto:sage [05/03/11 00:20:05 ]
range_errorが使われている例って例えば何がある?
out_of_rangeだと、basic_string辺りで利用。

180 名前:デフォルトの名無しさん mailto:sage [05/03/11 01:48:46 ]
>>174
標準例外で使うのはexceptionくらい。
ちなみにlogic_errorとその派生を使うくらいならassertする。

>>175
boost::array::atはrange_errorを使ってます。
logic_error派生のout_of_rangeの方を使ってほしいですけど。
というかそもそもboostってstringを含む例外は使わないんじゃなかったっけか。



181 名前:デフォルトの名無しさん mailto:sage [05/03/11 02:19:34 ]
std::vector::atはout_of_range投げるんだっけか。
揃えてくれよぅBoost...

182 名前:デフォルトの名無しさん [05/03/11 09:19:47 ]
std::out_of_range と std::domain_error ってどう違うの?

std::out_of_range → 配列みたいなコレクションのインデックスが範囲を超えた
std::domain_error → 数学関数などで定義されていない引数が渡された

こんな感じ?

あと,メモリが不足して必要なブツをアロケートできなかった時は,
どの例外,もしくはどの例外から派生した例外クラスを使うのがいいの?

183 名前:デフォルトの名無しさん mailto:sage [05/03/11 09:31:53 ]
d.hatena.ne.jp/rich850/20040521
同じようなこと考えてる人はいるんだなぁ.

そうそう,メモリ不足は実行時にしかわからないから,
runtime_error から派生させたクラスを使うことにしました
over_flow, under_flor, range_error どれでもなさそうだし.

ところで,range_error は処理の結果のことを言ってるの?
それとも引数のことを言ってるの? runtime_error から
派生しているんだから前者かな?.

184 名前:デフォルトの名無しさん mailto:sage [05/03/11 15:58:33 ]
だからよぉ…叩きたいときはネタ持って来いっつってんだろうが
何度も言わせんなよ無能新参


185 名前:デフォルトの名無しさん mailto:sage [05/03/11 22:12:16 ]
bad_allocは?

186 名前:デフォルトの名無しさん mailto:sage [05/03/14 12:44:05 ]
ポインタってなんですか?
フサフサの上司に聞いたら分かりませんでした。
ちなみに自分はM禿です。

187 名前:デフォルトの名無しさん mailto:sage [05/03/14 18:38:48 ]
>>186
マウス動かしたら一緒に動く矢印あるやろ?それ。

188 名前:デフォルトの名無しさん mailto:sage [05/03/16 03:17:32 ]
>>184
意味がわからん…

189 名前:デフォルトの名無しさん [2005/04/08(金) 02:46:27 ]
もともとはJava屋だが、今度独立しようと思ってる。
Javaは、独立向きではない。
C++が独立に向いてると思う。
C++自体はほぼ使いこなせるようになったが、どうも言語自体だけでなく
ネットワークとか制御とかの専門知識が必要らしいが、その辺の情報
教えてもらえんかな。C++で独立するには言語以外何が必要か。

190 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 03:26:52 ]
言語だけでは全く使い物にならない。



191 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 08:45:43 ]
後はコミュニケーション能力さえあれば何とかなるでしょ。
つーか、言語以外に何がとか言ってる時点で独立は難しそうだけど。

192 名前:デフォルトの名無しさん [2005/04/08(金) 14:43:11 ]
>>189
俺の経験談
とにかく本屋でC++のコーディングがのってる、制御系(ネットワーク系でもいいが)
の本とか雑誌とか買えるだけ買ってひたすら勉強しろ。(深い理解は後回しでよい。
仕事の時、相手が何言ってるかわかる程度に勉強しておけ)
そのあと、自分のパソコン(高性能)を持ち込んで無償でやるといって中小企業の
現場でコーディングを黙々とやれ。そのとき、うるさく質問するとアウト。
最小の質問ですむように、本と雑誌でひたすら勉強しておくこと。
これ、口で言うほど簡単じゃないがな。あと、理解ある中小企業の協力が必要。


193 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 14:53:12 ]
>>189
私の勤める会社からでよければ仕事紹介するよ。
C++の案件もJavaの案件も転がってるけど、C++の方が制御系でJavaは業務系だね。

紹介は兎も角、業務系ならWebアプリの知識とDBの知識が必須になってくるし、
制御系ならUnix系OSの知識が前提となってくるかな。

194 名前:デフォルトの名無しさん [2005/04/08(金) 16:31:16 ]
適当にぐぐったら出てきたんだがvodafne702NKのsymbian osってなんか楽しそう

195 名前:デフォルトの名無しさん mailto:sage [2005/04/20(水) 00:53:51 ]
ドコモもC++だよ。

196 名前:デフォルトの名無しさん mailto:sage [2005/05/01(日) 21:13:36 ]
>194
そうだね。SymbianOSは(OS部分も、アプリ部分も)かなり気合入ったC++だから、
C++やオブジェクト指向で飽きるほど遊びたいなら、FOMA開発に参加するといいね。
# try〜catchもSTLもないけどね。・・でも大域ジャンプあるし、Symbian標準ライブラリあるし。

197 名前:デフォルトの名無しさん mailto:sage [2005/05/09(月) 08:25:06 ]
leaveがtry〜catchの変わり。> Symbian

198 名前:デフォルトの名無しさん [2005/05/24(火) 03:53:20 ]
auto_ptrはがんがん使っても問題ないですか?

199 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 05:06:17 ]
>>198
おう、がんがん使ってもよいぞ。コンテナに入れて、sort掛けてもモーマンタイ。

200 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 12:59:13 ]
>>196
># try〜catchもSTLもないけどね。・・でも大域ジャンプあるし
最悪じゃねーかw



201 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 13:27:37 ]
>>199
嘘つけ。COAPって知らないのか。
auto_ptr入れたコンテナをソートすると、中身が滅茶苦茶に壊れる。

202 名前:デフォルトの名無しさん [2005/05/24(火) 13:49:36 ]
auto_ptr使ったこと無い。
new使う機会ない。
これ普通だよね?


203 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 15:46:55 ]
>201
いや199は明らかに分かってて書いてるでしょ

204 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 16:31:12 ]
>>202
んなこたぁーない。
実務に携わった事がないか、単に勉強不足。

205 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 16:42:32 ]
みんな人が悪いよね。

206 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 17:01:20 ]
頭でしょ

207 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 17:15:33 ]
要するに、2chの書き込みごときに騙されないようになるほど
勉強しろって事だと、俺は受け取った。

208 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 18:41:37 ]
>>204
ちなみにnew使わなきゃならない場面ってどんなとき?
制限があってSTL使えないとか
使ってるAPIの仕様の為とか
そんなもんなんじゃないの?

209 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 18:45:30 ]
俺はresize()しないのであればstd::vectorを使わずにnew []とboost::scoped_arrayを使うよ。

210 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 22:45:19 ]
>>208
多態とか気軽にやるならポインタで持っておきたいしなあ。
newは使うよ。
無くてもいいんだろうけど。

>>209
サイズ固定ならboost::arrayでええんちゃう?



211 名前:デフォルトの名無しさん [2005/05/24(火) 23:24:31 ]
昔から疑問だったんだけど、
boost::shared_ptrとか使うと
完璧ではないけど、これでdeleteの義務から
開放されるよね。こんな簡単に管理出来るのに
JavaやC#がいちいちヒープを走査すガベージコレクション
という方法をとってるのはなぜ?

212 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 23:30:49 ]
boost使うヤツはヘタレ。
C++上級者を名乗るなら、
あまりの高度さゆえに誰も使いこなせない自作の
クラスライブラリを使うのが常識だろ?

213 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 23:38:01 ]
>>211
循環参照とか断片化とか考えるのがまんどらけだから

214 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 23:41:41 ]
>>212
それは手ぇ抜く技術が初級レベルな能無しの行動であって
上級者のそれではありません。

215 名前:デフォルトの名無しさん [2005/05/25(水) 03:48:50 ]
自分で組めないから他人が組んでくれたライブラリ使っているだけなのに、
「手ぇ抜く技術」といって自分を誤魔化し慰めるのが上級者。



216 名前:デフォルトの名無しさん [2005/05/25(水) 03:51:39 ]
>>211
TLのガーベッジコレクションに頼るな。
勘で deleteするのが上級者。
特に delete にするか、delete[] にするかを的確に判断するのは
研ぎ澄まされた直感を要する。


217 名前:デフォルトの名無しさん mailto:sage [2005/05/25(水) 04:26:15 ]
>>215はコンパイラから自作する神

218 名前:デフォルトの名無しさん mailto:sage [2005/05/25(水) 05:07:08 ]
上級すぎて神の声が聞こえてそうだな、215はw

219 名前:デフォルトの名無しさん mailto:sage [2005/05/25(水) 07:12:44 ]
そういうレベルの人はすべてC言語でなんとかするだろ。

220 名前:デフォルトの名無しさん mailto:sage [2005/05/25(水) 07:37:35 ]
そういうレベルの人はすべて機械語でなんとかするだろ。



221 名前:209 mailto:sage [2005/05/25(水) 07:40:14 ]
>>210
いや、要素数は実行時に決まるからboost::arrayは無理。

222 名前:デフォルトの名無しさん [2005/05/25(水) 10:26:58 ]
そういえば前から疑問に思ってたんだけど、
capacity()が固定でsize()が可変の配列クラスってboostか何かにないの?

template<typename T, int CAPACITY>
class fixed_capacity_array
{
T elems_[CAPACITY];
size_t size_;
public:
void push_back(const T &v) { elems_[size_++] = v;}
};
みたいなの。動的にメモリを確保するのが気が引けるときに使いたいんだけど。
今のところ自分で上のようなのを作って使ってるけど、出来合のがあればそっちを使うなぁ。

あと、同じように最大文字数固定の文字列クラスも欲しい。


223 名前:デフォルトの名無しさん [2005/05/25(水) 11:55:08 ]
boostってSTLと比べてそんなにえーのんか?


224 名前:デフォルトの名無しさん mailto:sage [2005/05/25(水) 16:18:39 ]
アマな俺にはSTLだけでお腹いっぱいです。

225 名前:デフォルトの名無しさん mailto:sage [2005/05/25(水) 17:24:08 ]
俺は初めスマートポインタとlexical_castに惹かれて使い出した。

226 名前:デフォルトの名無しさん mailto:sage [2005/05/25(水) 19:01:55 ]
>>223
C++ってCと比べて……いやこの例えは変か。
OpenGLってstdioに比べてそんなにえーのんか?

227 名前:デフォルトの名無しさん mailto:sage [2005/05/25(水) 19:37:17 ]
比べるのが良くわからん。
boostはSTLと補完しあう関係だろ?

228 名前:デフォルトの名無しさん [2005/05/26(木) 00:09:24 ]
>>227
そういうことか。

229 名前:デフォルトの名無しさん [2005/05/26(木) 16:44:00 ]
finallyの存在意義について教えたもえ

230 名前:デフォルトの名無しさん mailto:sage [2005/05/26(木) 17:28:41 ]
>>229
returnしようがthrowしようが何事も無かろうが実行されなければいけない後処理コードを記述する時どうしてる?
そしてその方法が面倒だと思ったらそこにfinallyの存在意義がある。



231 名前:デフォルトの名無しさん mailto:sage [2005/05/26(木) 23:42:46 ]
クラス(構造体)のデストラクタに書いちゃう…とか。
ものにもよるけど結構よぉやる。

232 名前:デフォルトの名無しさん [2005/05/27(金) 09:48:22 ]
関数内ローカルなクラスのデストラクタに書くのはよくやる……というほどやらないけど。







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

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

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