トップページ⇒tech
985コメント244KB

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

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさんNGNG
ここでは他のC++スレよりもより一層と高いレベルでの情報交換・体験談などを行うスレです。
我こそはC++プロフェッショナルだという方の書き込みをお待ちしております。
0002デフォルトの名無しさんNGNG
ERROR:このスレッドには書けません!
0003デフォルトの名無しさんNGNG
上級者とは?
0004デフォルトの名無しさんNGNG
BASIC使う人の事ですね
0005デフォルトの名無しさんNGNG
HSPじゃないの?
0006デフォルトの名無しさんNGNG
上級者を定義しろと言ってみるテスツ
↓定義厨キター
0007デフォルトの名無しさんNGNG
>>6
すでに >>3 にいますよ?
0008デフォルトの名無しさんNGNG
最も高級なのはLOGO
0009デフォルトの名無しさんNGNG
インラインアセンブラ使いは低級者
0010デフォルトの名無しさんNGNG
テニスをやっている奴も庭球者。
0011デフォルトの名無しさんNGNG
リロードしまくってる>>10はヘタレ低級者
0012デフォルトの名無しさんNGNG
>>3
規格上は問題ないけど実際にはコンパイルできないコードを書く香具師ら。
0013デフォルトの名無しさんNGNG
>>10
wrota
0014デフォルトの名無しさんNGNG
インラインアセンブラしか書かないのが上級者
0015デフォルトの名無しさんNGNG
具体的なことを言わなければ、上級者じゃないということはバレない
0016デフォルトの名無しさんNGNG
上級者とも思われないけどな。
0017デフォルトの名無しさんNGNG
>>16
そこで印象操作ですよ。
0018デフォルトの名無しさんNGNG
>>12
規格上ダメだけど、指定コンパイラで、スーパー速いコードを書く奴。


と言わなかった君をほめよう。
001918NGNG
つまり、君は、C++廚であって、C廚でないことがわかるからだ。
0020デフォルトの名無しさんNGNG
廚と厨のスワップ
0021デフォルトの名無しさんNGNG
#define 上級者 俺
0022デフォルトの名無しさんNGNG
#if 0
>>21
#endif
0023デフォルトの名無しさんNGNG
/*
>>22
むしろこうだろ
*/

#if 上級者 == 21
#undef 上級者
#define 上級者 NULL
#endif

/*
0024デフォルトの名無しさんNGNG
下級者ですが何か
0025デフォルトの名無しさんNGNG
スレ違いですよ。
0026マイク ◆yrBrqfF1Ew NGNG
レスが随分2ch的でアレだな。
0027デフォルトの名無しさんNGNG
C++の先行者はいつ来ますか?
0028デフォルトの名無しさんNGNG
>>27
沈んだよ。先行しすぎてな
0029デフォルトの名無しさんNGNG
するとたちまち鶏が鳴いた
0030デフォルトの名無しさんNGNG
#include <iostream>
と
#include <iostream.h>
の違いを教えてください
0031デフォルトの名無しさんNGNG
ageんでいいからC++相談室36を立ててくれ。俺からは立てられないんで。

>>30
一応マジレスしておくと、前者は標準ライブラリがstd名前空間に包まれる。
後者は包まれない。
0032デフォルトの名無しさんNGNG
>>31
ありがとうございます。

以前は
#include <iostream.h>
#include <math.h>

と書いていたのですが、

#include <iostream>
#include <cmath>
using namespace std;

と書くのが最近のC++の正しい書き方ということなのでしょうか
0033デフォルトの名無しさんNGNG
>>32
cmathの方はどっちでもいいけど、iostream.hは現行の規格にはない。
0034デフォルトの名無しさんNGNG
>>32
using namespace std;は正しいが好ましくない
0035デフォルトの名無しさんNGNG
なんで?
0036デフォルトの名無しさんNGNG
せっかくネームスペースで閉じ込めた意味がなくなる。
0037デフォルトの名無しさんNGNG
>>30
上級者がそんなこと聞くな。

>>35
上級者がそんなこと聞くな。
0038デフォルトの名無しさんNGNG
ここホントに上級者が集まってるのか?
0039デフォルトの名無しさんNGNG
2chに上級者などいない
0040デフォルトの名無しさんNGNG
C++下級者が集まるスレはないのですか?
0041デフォルトの名無しさんNGNG
>>40
ここですよ〜。
0042デフォルトの名無しさんNGNG
C++上級者になるための必読書を教えてください
0043デフォルトの名無しさんNGNG
>>42
上級者は学会論文を読みます。
0044デフォルトの名無しさんNGNG
ISOの規格書とドラフト
0045デフォルトの名無しさんNGNG
>>43
それは「C++の」上級者とは違うと思う。
0046デフォルトの名無しさんNGNG
まずはC++標準化委員会に入れ、話はそれからだ。
0047デフォルトの名無しさんNGNG
C++上級者は禿げてます
0048デフォルトの名無しさんNGNG
禿げれば誰でも上級者です
0049デフォルトの名無しさんNGNG
ここは禿が集まるすれになりました。
0050デフォルトの名無しさんNGNG
ヅラですが参加して良いですか?
0051デフォルトの名無しさんNGNG
ヅラは駄目です
禿が集まるスレですから
0052デフォルトの名無しさんNGNG
最近禿始めているんですけど、C++上級者になれる予兆ですか?
0053デフォルトの名無しさんNGNG
>>52
その通りです。
0054デフォルトの名無しさんNGNG
3年ほど前から抜け毛がすごいのですが濃さはあまり変わりません。
ある日気づくと突然薄くなっているのですか?
そう思うと怖くて夜も眠れません。
0055デフォルトの名無しさんNGNG
あなたは自分で気が付いてないようですが、少しずつC++が上達しています。
0056上級者&rlo;者級上:&lro;NGNG
ぬるぽ
0057デフォルトの名無しさんNGNG
理想はM禿げです
0058デフォルトの名無しさんNGNG
理想はM字開○です
0059デフォルトの名無しさんNGNG
ぼ、僕も縛ってください。ハァハァ
0060デフォルトの名無しさんNGNG
C++ではポインタは使わない方がいいのですか?
0061デフォルトの名無しさんNGNG
上級者なのでわかりやすくお願いします。
STLPortというものを入れてみたいのですが、これってBCC5.5.1でつかえますか?
0062デフォルトの名無しさんNGNG
>>60
いんや。
0063デフォルトの名無しさんNGNG
イテレータで代用できるならそうしたほうが良いです。
0064デフォルトの名無しさんNGNG
15と16の矛盾
if( someone think He == Expert && someone think He != Expert)
考えたらパニってきた
0065いなむらきよしNGNG
レベルの低い話してるキケー!
0066デフォルトの名無しさんNGNG
>>65
ふざけんな俺の頭は禿げてるだけで奇形じゃないぞ
0067デフォルトの名無しさんNGNG
髪の毛を捨ててまでC++上級者になりたいんですか?
0068デフォルトの名無しさんNGNG
C++上級者になれるのなら髪の毛なんぞ惜しくはない。
0069デフォルトの名無しさんNGNG
だれもC++を使わない時代になったら、ただただ震えるだけだよ。
0070デフォルトの名無しさんNGNG
Modern C++ Designを読んで、何が書いてあるかさえ分からなかった。
0071デフォルトの名無しさんNGNG
くだらねえ....
0072デフォルトの名無しさんNGNG
_________________________
    <○√
     ‖ 
     くく
しまった!ここは糞スレだ!
オレが止めているうちに他スレへ逃げろ!
早く!早く!オレに構わず逃げろ!

boost萌え。

>>1の戦闘能力が駄目なので
このスレは駄目だな。
0073デフォルトの名無しさんNGNG
コンパイル時にWindows上でコンパイルしているのかLinux上でコンパイルしているのかを判別する方法を教えてください
0074デフォルトの名無しさんNGNG
#ifdef WIN32
#endif
0075デフォルトの名無しさんNGNG
boostは便利だけど、一般性に欠ける気がする。
0076デフォルトの名無しさんNGNG
何でもそんな事言われるが、使う人が増えれば業界標準化する。
だがその頃にはまた新しいネタが出てきてると。
0077デフォルトの名無しさんNGNG
最初から標準ライブラリをちゃんと作らなかったStrawstrupが悪い
0078デフォルトの名無しさんNGNG
.NET のマネージC++の話ですが、

Object* [] __gc args = { obj1, obj2};
String::Format("{0},{1}", args);

と書いているのを、argsという変数を使わずにかけますか? C#では、

String.Format("{0},{1}", new object[] { obj1, obj2});

と書くような感じで。
0079デフォルトの名無しさんNGNG
コンパイルってなんですか?
0080デフォルトの名無しさんNGNG
>75
一般性ってどういう意味での?
マニアックな用途のライブラリが多いってこと?
0081デフォルトの名無しさんNGNG
俺も早くここに来たいなぁ。
0082デフォルトの名無しさんNGNG
(boost::format("%1,%2") % obj1 % obj2).str()
0083デフォルトの名無しさんNGNG
%1%,%2%かも。
書き方自分で調べれ
0084デフォルトの名無しさんNGNG
Strawstrup
って誰?
0085デフォルトの名無しさんNGNG
生のStroustrup
0086デフォルトの名無しさんNGNG
linuxでもwindowsでも使えるタイマープログラムはどのように書けばよいのでしょうか
0087デフォルトの名無しさんNGNG
↑教えてやるから linux でも windows でも使えるIPCをくれ。
0088デフォルトの名無しさんNGNG
Javaで書け
0089デフォルトの名無しさんNGNG
void timer_for_short_wait(){ int i; for(i=0; i<100; i++) ; }

void timer_for_long_wait(){ int i; for(i=0; i<100000; i++) ; }
0090デフォルトの名無しさんNGNG
>>89
最適化で消えるループに何の意味が?
0091デフォルトの名無しさんNGNG
>>90
最適化で消えないから意味がある。
0092デフォルトの名無しさんNGNG
void timer_for_too_long_wait(){ int i; for(i=0;;i++) ; }
0093デフォルトの名無しさんNGNG
C++のプロジェクトに入れられたのですが。
禿たくありません。
どの育毛剤をつかえば禿ることを回避できむすかあ?
0094デフォルトの名無しさんNGNG
これがC++上級者の開発用マシンだ!!!
http://nice.kaze.com/ybb06.html
0095デフォルトの名無しさんNGNG
ごめん、リンク間違っちゃった
http://pc.watch.impress.co.jp/docs/2004/1022/kurouto.htm
0096デフォルトの名無しさんNGNG
ハゲヅラを買って、あとは仕事をしたふりだけしてなさい。
0097sageNGNG
pthread と Windows のスレッドってたいして変わらないから、
スレッドを使ってタイマを作ればよいんじゃないかと思います。
少しだけ ifdef が必要だと思うけど。>> 86
0098デフォルトの名無しさんNGNG
>>89
そんなコードいまどき使えるのかよ。そもそもタイマーじゃないしさ。
waitしたいなら Sleep(Windows) sleep(POSIX) usleep(4.3BSD) でいいじゃん。
0099デフォルトの名無しさんNGNG
boost::timerならPortable
0100デフォルトの名無しさんNGNG
boostはいつ標準化されるのですか?
0101デフォルトの名無しさんNGNG
つかboost::timerにはsleepんあにhtなおおもう
0102デフォルトの名無しさんNGNG
早く人間になりたいなぁ
0103デフォルトの名無しさんNGNG
クソスレ決定!!
0104デフォルトの名無しさんNGNG
>>103はベラ
0105デフォルトの名無しさんNGNG
void hage(){
0106デフォルトの名無しさんNGNG
>>104 はベロ
0107デフォルトの名無しさんNGNG
>>106 はベム
0108デフォルトの名無しさんNGNG
boostの標準化はいつになるのでしょうか?
0109デフォルトの名無しさんNGNG
おまえが使うとき
0110デフォルトの名無しさんNGNG
http://www.tietew.jp/cppll/archive/1071
これ見てふと思ったんだけどこんなのはどう?

class {
  public:
    template<class T> operator T*() const {return static_cast<T*>(0);}
} const NULL;
0111デフォルトの名無しさんNGNG
PO!
0112デフォルトの名無しさんNGNG
ガ
0113デフォルトの名無しさんNGNG
tietewって何者ですか?
0114デフォルトの名無しさんNGNG
a=b=0;

a=b;
b=0;

これって同じことですか?
0115デフォルトの名無しさんNGNG
>>114
違う。a=(b=0); だから、

b=0;
a=b;

と同じ。
0116デフォルトの名無しさんNGNG
>>113
知りたかったら cppll を購読しとけ。
0117デフォルトの名無しさんNGNG
>>114
上級じゃないじゃんw
0118デフォルトの名無しさんNGNG

だっ誰か Stroustrup先生をよんでらっしゃい
0119デフォルトの名無しさんNGNG
>>117
上級者が質問するスレなんですか?
上級者がいるから聴きたい事を聴いてもいいスレじゃないんですか?
0120デフォルトの名無しさんNGNG
ここはネタスレだよ
0121デフォルトの名無しさんNGNG
0122デフォルトの名無しさんNGNG
bool a=b=true;

abともに真である条件式で
if(a & b){}
if(a && b){}
お前らはどっち書く?
0123デフォルトの名無しさんNGNG
>>122
下
0124デフォルトの名無しさんNGNG
後者
0125デフォルトの名無しさんNGNG
a = 1;
b = 2;

if(a) 真
if(b) 真
if(a & b) 偽
if(a && b) 真
0126デフォルトの名無しさんNGNG
ダウト
0127デフォルトの名無しさんNGNG
>>119
聴くのは勝手だが、訊くな。邪魔だから。
0128デフォルトの名無しさんNGNG
鬱なプログラマのためのオブジェクト指向開発講座っていう本どうよ?
0129デフォルトの名無しさんNGNG
>>128
ちと古い。が、まとまりがあってよし。
0130デフォルトの名無しさんNGNG
>>129
良い本だと思うけど、盲信しちゃダメだよ。
0131デフォルトの名無しさんNGNG
鬱だ氏のうというプログラマのためのオブジェクト指向開発講座っていう本どうよ?
0132デフォルトの名無しさんNGNG
一通り読んだが、これが上級者スレ?じゃぁおれは神だな。
何でも質問してみ?ん?
0133デフォルトの名無しさんNGNG
>>132
gcc で "\" を挿入せずにシフトJISのソースファイルをコンパイルした時に出る
unknown escape sequence のワーニングを抑止するコンパイラオプションを教えてください、神様。
0134132NGNG
そんなものはぐぐればいくらでもあるのじゃ。ふぉっふぉっふぉ。
ttp://www.asahi-net.or.jp/~uc3k-ymd/Lesson/Section01/gcc_sjis.html
次ぃ!
0135デフォルトの名無しさんNGNG
>>134
それコンパイラオプションじゃない気が…
0136132NGNG
うっ。神は朝早いから、もう寝る!
0137デフォルトの名無しさんNGNG
>>134
あの、神様、大変申し上げ難いのですが、
そのページに書いてあるのはまさに "\" を挿入して回避する方法で、
私が知りたいのは "\" を挿入せずにワーニングを抑止する方法なんです。
0138デフォルトの名無しさんNGNG
#define \ \\
0139デフォルトの名無しさんNGNG
ワーニングとか言ってる時点でダメ
正しくはヲーニング
0140デフォルトの名無しさんNGNG
ウォーニングですから。
0141デフォルトの名無しさんNGNG
ヲーニングとウォーニングの発音上の違いを教えてください
0142デフォルトの名無しさんNGNG
カタカナで書いてる時点でダメ
目糞鼻糞だ
0143デフォルトの名無しさんNGNG
正しくは目糞鼻糞チンポマンコ
0144デフォルトの名無しさんNGNG
ここは上級な会話がかわされるインターネッツですね
0145デフォルトの名無しさんNGNG
おれはチンポとマンコなら圧倒的にマンコがいいが。
0146デフォルトの名無しさんNGNG
gccをビルドするときのコンフィグでは?
》神様
0147デフォルトの名無しさんNGNG
上級すぎて感動
0148デフォルトの名無しさんNGNG
>>122
ってゆ〜か、&ってintの演算子だっての。

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

こう書いてるのと同じだよ。
恥ずかしすぎ
0149デフォルトの名無しさんNGNG
>>148
intだけじゃない。
unsigned intとか、long intとか。
0150デフォルトの名無しさんNGNG
そういうとき&を使ったのは&&がなかった時代の名残
C++で使う意味はない
0151デフォルトの名無しさんNGNG
トゥルルル、トゥルルル・・
女「もしもし、いきなりごめんね。
  クリスマスイブって暇?」
男「えッ!?う、うん暇だよ!」
女「m9(^Д^)プギャーーーッ 」
ガチャ、ツー、ツー
0152デフォルトの名無しさんNGNG
Hage
0153デフォルトの名無しさんNGNG
とりあえずageとこうや
0154デフォルトの名無しさんNGNG
おまえらに理解できるか?
//可変長構造体
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();
};
0155デフォルトの名無しさんNGNG
>>154
何でメンバが全部private?
その__declspec(novtable)て意味あるの?
http://www.microsoft.com/japan/developer/library/vccore/_langref_novtable.htm
0156デフォルトの名無しさんNGNG
...,t_cb=sizeof(t_base)>
...
public:...

MSC以外であるかもな
0157デフォルトの名無しさんNGNG
>>133
コンパイルオプションじゃないが…

#define MULTIBYTE_CHARSでgccをcompile。
LANG環境変数をC-SJISにして、gccを使う。
mbcsじゃなくて、wcsとして扱う必要があります。
0158デフォルトの名無しさんNGNG
>gccをcompile
????????
0159デフォルトの名無しさんNGNG
え?
0160デフォルトの名無しさんNGNG
>158
そんな人もいる。超時間掛かるけど
0161デフォルトの名無しさんNGNG
挑戦者、かかってこいやー
0162デフォルトの名無しさんNGNG
こ の ス レ は レ ベ ル が 高 い な
0163デフォルトの名無しさんNGNG
A型乙
0164デフォルトの名無しさんNGNG
>>158
binary配布のgccだと、
#define MULTIBYTE_CHARS
でcompileされてないのが多いんですよ。
0165デフォルトの名無しさんNGNG
>164
時間掛けすぎって言うか、GCCの日本語サポーターは何やってんだ?
まあ、czenyenかUTF使えって
0166デフォルトの名無しさんNGNG
>>165
ソースコード内の
・文字リテラル
・文字列リテラル
のwchar_tを諦めてmbcsのみで行くならUTF-8でOK。

けど最初のお題がShift_JISなので、MULTIBYTE_CHARSがいいね。
ただ、wchar_tになるから、mbcsとしては扱えないけどね。
0167デフォルトの名無しさん05/02/22 10:08:20
constってどこがそんなに難しいの?
0168デフォルトの名無しさん05/02/22 10:32:29
>>167 http://pc5.2ch.net/test/read.cgi/tech/1078193971/
0169デフォルトの名無しさん05/03/09 17:16:02
>>167
constなんて簡単
#defineとちょっとちがうだけ
0170デフォルトの名無しさん05/03/09 17:39:40
はぁ?
0171デフォルトの名無しさん05/03/09 23:42:09
>>169のような超下級者が集まるスレはここですか?
0172デフォルトの名無しさん05/03/10 10:20:15
いいなあ。きっと>>169はふさふさなんだろうなあ。
0173デフォルトの名無しさん05/03/10 10:58:14
ふさふさ・・(*´Д`)<萌!
0174デフォルトの名無しさん05/03/10 17:20:37
おい,お前ら,標準的な例外
domain_error
invalid_argument
length_error
out_of_range
overflow_error
range_error
underflow_error
の使い分けについて,どんな指針を置いていますか?
0175デフォルトの名無しさん05/03/10 17:22:49
>>174
読んだまま。
0176デフォルトの名無しさん05/03/10 17:41:53
例外使うのは例外なく自分よがりなプログラマ
0177デフォルトの名無しさん05/03/10 20:33:27
と例外なくバカの>176はつぶやきました
0178デフォルトの名無しさん05/03/10 22:00:21
C++上級者ってすごいな
0179デフォルトの名無しさん05/03/11 00:20:05
range_errorが使われている例って例えば何がある?
out_of_rangeだと、basic_string辺りで利用。
0180デフォルトの名無しさん05/03/11 01:48:46
>>174
標準例外で使うのはexceptionくらい。
ちなみにlogic_errorとその派生を使うくらいならassertする。

>>175
boost::array::atはrange_errorを使ってます。
logic_error派生のout_of_rangeの方を使ってほしいですけど。
というかそもそもboostってstringを含む例外は使わないんじゃなかったっけか。
0181デフォルトの名無しさん05/03/11 02:19:34
std::vector::atはout_of_range投げるんだっけか。
揃えてくれよぅBoost...
0182デフォルトの名無しさん05/03/11 09:19:47
std::out_of_range と std::domain_error ってどう違うの?

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

こんな感じ?

あと,メモリが不足して必要なブツをアロケートできなかった時は,
どの例外,もしくはどの例外から派生した例外クラスを使うのがいいの?
0183デフォルトの名無しさん05/03/11 09:31:53
http://d.hatena.ne.jp/rich850/20040521
同じようなこと考えてる人はいるんだなぁ.

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

ところで,range_error は処理の結果のことを言ってるの?
それとも引数のことを言ってるの? runtime_error から
派生しているんだから前者かな?.
0184デフォルトの名無しさん05/03/11 15:58:33
だからよぉ…叩きたいときはネタ持って来いっつってんだろうが
何度も言わせんなよ無能新参
0185デフォルトの名無しさん05/03/11 22:12:16
bad_allocは?
0186デフォルトの名無しさん05/03/14 12:44:05
ポインタってなんですか?
フサフサの上司に聞いたら分かりませんでした。
ちなみに自分はM禿です。
0187デフォルトの名無しさん05/03/14 18:38:48
>>186
マウス動かしたら一緒に動く矢印あるやろ?それ。
0188デフォルトの名無しさん05/03/16 03:17:32
>>184
意味がわからん…
0189デフォルトの名無しさん2005/04/08(金) 02:46:27
もともとはJava屋だが、今度独立しようと思ってる。
Javaは、独立向きではない。
C++が独立に向いてると思う。
C++自体はほぼ使いこなせるようになったが、どうも言語自体だけでなく
ネットワークとか制御とかの専門知識が必要らしいが、その辺の情報
教えてもらえんかな。C++で独立するには言語以外何が必要か。
0190デフォルトの名無しさん2005/04/08(金) 03:26:52
言語だけでは全く使い物にならない。
0191デフォルトの名無しさん2005/04/08(金) 08:45:43
後はコミュニケーション能力さえあれば何とかなるでしょ。
つーか、言語以外に何がとか言ってる時点で独立は難しそうだけど。
0192デフォルトの名無しさん2005/04/08(金) 14:43:11
>>189
俺の経験談
とにかく本屋でC++のコーディングがのってる、制御系(ネットワーク系でもいいが)
の本とか雑誌とか買えるだけ買ってひたすら勉強しろ。(深い理解は後回しでよい。
仕事の時、相手が何言ってるかわかる程度に勉強しておけ)
そのあと、自分のパソコン(高性能)を持ち込んで無償でやるといって中小企業の
現場でコーディングを黙々とやれ。そのとき、うるさく質問するとアウト。
最小の質問ですむように、本と雑誌でひたすら勉強しておくこと。
これ、口で言うほど簡単じゃないがな。あと、理解ある中小企業の協力が必要。
0193デフォルトの名無しさん2005/04/08(金) 14:53:12
>>189
私の勤める会社からでよければ仕事紹介するよ。
C++の案件もJavaの案件も転がってるけど、C++の方が制御系でJavaは業務系だね。

紹介は兎も角、業務系ならWebアプリの知識とDBの知識が必須になってくるし、
制御系ならUnix系OSの知識が前提となってくるかな。
0194デフォルトの名無しさん2005/04/08(金) 16:31:16
適当にぐぐったら出てきたんだがvodafne702NKのsymbian osってなんか楽しそう
0195デフォルトの名無しさん2005/04/20(水) 00:53:51
ドコモもC++だよ。
0196デフォルトの名無しさん2005/05/01(日) 21:13:36
>194
そうだね。SymbianOSは(OS部分も、アプリ部分も)かなり気合入ったC++だから、
C++やオブジェクト指向で飽きるほど遊びたいなら、FOMA開発に参加するといいね。
# try〜catchもSTLもないけどね。・・でも大域ジャンプあるし、Symbian標準ライブラリあるし。
0197デフォルトの名無しさん2005/05/09(月) 08:25:06
leaveがtry〜catchの変わり。> Symbian
0198デフォルトの名無しさん2005/05/24(火) 03:53:20
auto_ptrはがんがん使っても問題ないですか?
0199デフォルトの名無しさん2005/05/24(火) 05:06:17
>>198
おう、がんがん使ってもよいぞ。コンテナに入れて、sort掛けてもモーマンタイ。
0200デフォルトの名無しさん2005/05/24(火) 12:59:13
>>196
># try〜catchもSTLもないけどね。・・でも大域ジャンプあるし
最悪じゃねーかw
0201デフォルトの名無しさん2005/05/24(火) 13:27:37
>>199
嘘つけ。COAPって知らないのか。
auto_ptr入れたコンテナをソートすると、中身が滅茶苦茶に壊れる。
0202デフォルトの名無しさん2005/05/24(火) 13:49:36
auto_ptr使ったこと無い。
new使う機会ない。
これ普通だよね?
0203デフォルトの名無しさん2005/05/24(火) 15:46:55
>201
いや199は明らかに分かってて書いてるでしょ
0204デフォルトの名無しさん2005/05/24(火) 16:31:12
>>202
んなこたぁーない。
実務に携わった事がないか、単に勉強不足。
0205デフォルトの名無しさん2005/05/24(火) 16:42:32
みんな人が悪いよね。
0206デフォルトの名無しさん2005/05/24(火) 17:01:20
頭でしょ
0207デフォルトの名無しさん2005/05/24(火) 17:15:33
要するに、2chの書き込みごときに騙されないようになるほど
勉強しろって事だと、俺は受け取った。
0208デフォルトの名無しさん2005/05/24(火) 18:41:37
>>204
ちなみにnew使わなきゃならない場面ってどんなとき?
制限があってSTL使えないとか
使ってるAPIの仕様の為とか
そんなもんなんじゃないの?
0209デフォルトの名無しさん2005/05/24(火) 18:45:30
俺はresize()しないのであればstd::vectorを使わずにnew []とboost::scoped_arrayを使うよ。
0210デフォルトの名無しさん2005/05/24(火) 22:45:19
>>208
多態とか気軽にやるならポインタで持っておきたいしなあ。
newは使うよ。
無くてもいいんだろうけど。

>>209
サイズ固定ならboost::arrayでええんちゃう?
0211デフォルトの名無しさん2005/05/24(火) 23:24:31
昔から疑問だったんだけど、
boost::shared_ptrとか使うと
完璧ではないけど、これでdeleteの義務から
開放されるよね。こんな簡単に管理出来るのに
JavaやC#がいちいちヒープを走査すガベージコレクション
という方法をとってるのはなぜ?
0212デフォルトの名無しさん2005/05/24(火) 23:30:49
boost使うヤツはヘタレ。
C++上級者を名乗るなら、
あまりの高度さゆえに誰も使いこなせない自作の
クラスライブラリを使うのが常識だろ?
0213デフォルトの名無しさん2005/05/24(火) 23:38:01
>>211
循環参照とか断片化とか考えるのがまんどらけだから
0214デフォルトの名無しさん2005/05/24(火) 23:41:41
>>212
それは手ぇ抜く技術が初級レベルな能無しの行動であって
上級者のそれではありません。
0215デフォルトの名無しさん2005/05/25(水) 03:48:50
自分で組めないから他人が組んでくれたライブラリ使っているだけなのに、
「手ぇ抜く技術」といって自分を誤魔化し慰めるのが上級者。

0216デフォルトの名無しさん2005/05/25(水) 03:51:39
>>211
TLのガーベッジコレクションに頼るな。
勘で deleteするのが上級者。
特に delete にするか、delete[] にするかを的確に判断するのは
研ぎ澄まされた直感を要する。
0217デフォルトの名無しさん2005/05/25(水) 04:26:15
>>215はコンパイラから自作する神
0218デフォルトの名無しさん2005/05/25(水) 05:07:08
上級すぎて神の声が聞こえてそうだな、215はw
0219デフォルトの名無しさん2005/05/25(水) 07:12:44
そういうレベルの人はすべてC言語でなんとかするだろ。
0220デフォルトの名無しさん2005/05/25(水) 07:37:35
そういうレベルの人はすべて機械語でなんとかするだろ。
02212092005/05/25(水) 07:40:14
>>210
いや、要素数は実行時に決まるからboost::arrayは無理。
0222デフォルトの名無しさん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;}
};
みたいなの。動的にメモリを確保するのが気が引けるときに使いたいんだけど。
今のところ自分で上のようなのを作って使ってるけど、出来合のがあればそっちを使うなぁ。

あと、同じように最大文字数固定の文字列クラスも欲しい。
0223デフォルトの名無しさん2005/05/25(水) 11:55:08
boostってSTLと比べてそんなにえーのんか?
0224デフォルトの名無しさん2005/05/25(水) 16:18:39
アマな俺にはSTLだけでお腹いっぱいです。
0225デフォルトの名無しさん2005/05/25(水) 17:24:08
俺は初めスマートポインタとlexical_castに惹かれて使い出した。
0226デフォルトの名無しさん2005/05/25(水) 19:01:55
>>223
C++ってCと比べて……いやこの例えは変か。
OpenGLってstdioに比べてそんなにえーのんか?
0227デフォルトの名無しさん2005/05/25(水) 19:37:17
比べるのが良くわからん。
boostはSTLと補完しあう関係だろ?
0228デフォルトの名無しさん2005/05/26(木) 00:09:24
>>227
そういうことか。
0229デフォルトの名無しさん2005/05/26(木) 16:44:00
finallyの存在意義について教えたもえ
0230デフォルトの名無しさん2005/05/26(木) 17:28:41
>>229
returnしようがthrowしようが何事も無かろうが実行されなければいけない後処理コードを記述する時どうしてる?
そしてその方法が面倒だと思ったらそこにfinallyの存在意義がある。
0231デフォルトの名無しさん2005/05/26(木) 23:42:46
クラス(構造体)のデストラクタに書いちゃう…とか。
ものにもよるけど結構よぉやる。
0232デフォルトの名無しさん2005/05/27(金) 09:48:22
関数内ローカルなクラスのデストラクタに書くのはよくやる……というほどやらないけど。
0233デフォルトの名無しさん2005/05/27(金) 14:26:05
>>222
boost::array
0234デフォルトの名無しさん2005/05/27(金) 14:36:06
MSVCの__m128の__declspec(intrin_type)って何?
0235デフォルトの名無しさん2005/05/27(金) 16:27:37
インtまいん(う゛ぉいd)
{
   cおうt << ”逝ってよし”;
   れつrん 0
}
0236デフォルトの名無しさん2005/05/27(金) 16:59:35
とはいえ、プロも歳をとれば油断する。
大事故になりかねない。
若い奴でも調子に乗ればとんでもない殺人を犯すことになる。
プロでも酒を飲めば3人の高校生の命を奪ってしまう最近の交通事故のように
なることもありうるのだ。

JR西日本のような列車事故は焦ったために起きたことだ。
焦りに焦ってバグで人を殺すようなプログラミングをすることは許されない。

私はC++を医療器や航空機に使うことは反対だ。
C++は使い方を誤ると誤って患者や旅客の命を奪いかねない言語だからだ。
だから人の命を奪う恐れが高いC++は普及させないほうがいいと思っている。
時間とかければいいとはいえ、顧客は容赦しない、
「他の言語でやすくできるならなぜC++では安くできないのか?」
と問いつめてくるのだ。そうなると大抵の企業はものを「お客様は絶対的な神様だ」と称して
ものを速く完成させようとすると。すると徹夜残業が増える。徹夜残業しても間に合わないので
C++にしかできないとんでもないスパゲティコードが生まれる。
そしてC++のコードが世に増えれば増えるほど無駄に徹夜する時間が増えてしまう。
C++のコードを貰い受け、引き継ぎ、苦労する後継者が増える。
そして焦りが人の命を奪う。

だから、私はC++だけで作られた自動操縦システムを開発することに反対する。
JR西日本のような列車事故を二度と起こさないためにも。

少なくともC++に厳重なルールとC++の規格が統一されるまでは
C++は普及させないほうがいいだろう。人々の命を救うためにも。
0237デフォルトの名無しさん2005/05/27(金) 17:04:05
そこでダイソン先生ですよ。
0238デフォルトの名無しさん2005/05/27(金) 19:10:19
C++の規格は統一されているわけだが。
0239デフォルトの名無しさん2005/05/27(金) 19:16:32
規格に従っているコンパイラがひとつもないという
0240デフォルトの名無しさん2005/05/27(金) 20:22:04
>>236
もう「ここまで読んだ」ネタ考えるの面倒なんだよ!
02412342005/05/27(金) 21:13:16
ねえー誰か答えてよぅ!
02422342005/05/27(金) 23:32:12
教えてくれるまで永遠にアゲ
0243デフォルトの名無しさん2005/05/27(金) 23:38:29
>>242
2000年1月1日のビル・ゲイツの寝言。
0244デフォルトの名無しさん2005/05/28(土) 00:01:28
>>236
じゃあ、車は走ると凶器になるので馬車にしようか。

0245デフォルトの名無しさん2005/05/28(土) 00:01:38
どうも、ビル・ゲイツです。
0246デフォルトの名無しさん2005/05/28(土) 00:13:11
馬車も十分凶器になるから人力車で
0247デフォルトの名無しさん2005/05/28(土) 00:25:16
>>234
上級すぎてMSDNにものってねーし。
0248デフォルトの名無しさん2005/05/28(土) 00:28:03
まぁ、C++使うと品質管理がままにならなくなるような低級な会社は
C++なんか使うべきでないわな。
0249デフォルトの名無しさん2005/05/28(土) 01:42:57
>>233
boost::arrayは要素数固定ですよ。
0250デフォルトの名無しさん2005/05/28(土) 02:50:42
>>222
http://web.archive.org/web/20040208120055/do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=999294620
ここの117に俺が書いたのがある。
そのまま使うには拙い(たとえば、要素は代入可能でなければならない)けど、
実装の参考にはなるかもしれん。
02512222005/05/28(土) 10:59:17
>>250
thx。
やはり初期化をちゃんとやると色々面倒ですね。参考にします。

ちょっと調べてみましたが、
http://lists.boost.org/MailArchives/boost/msg24221.php
この一連のスレッドでも同種の話があったようです。
大分車輪の再発明的なネタのようで。
http://alps.comp-phys.org/software/alps/doc/fixed_capacity.html
こういうのとか。
0252デフォルトの名無しさん2005/05/29(日) 09:41:59
multiarrayとvectorの違いがよくわかりません
0253デフォルトの名無しさん2005/06/03(金) 21:53:14
D言語こそが孤高でありC++は下僕言語である
http://pc8.2ch.net/test/read.cgi/prog/1117775758/
0254デフォルトの名無しさん2005/06/05(日) 00:10:37
下僕かどうかはともかく高級言語じゃないよな
0255デフォルトの名無しさん2005/06/06(月) 15:35:43
>>249
あっ。ゴミンナサイ

お詫びついでに質問

テンプレートクラス
template<class T> class Hoge
{
  Hoge(const T& arg) :... { ... }
...
};
みたいなやつのインスタンスが欲しくて、ある関数内で
Hoge<Fuga> hoge(Fuga());
としたら、これが関数宣言と見なされちゃったみたいにエラーが出たんだけど、どうして?情報が少なくて悪いけど、ヒントがあれば欲しい。

とりあえず
Hoge<Fuga> hoge = Hoge<Fuga>(Fuga());
ってしてその場はしのいだ。
0256デフォルトの名無しさん2005/06/06(月) 16:12:58
これは例の、通称「C++の最も奇妙な構文」ってやつかな。

Hoge<Fuga> hoge((Fuga())); // Fuga()をさらに括弧で包む
ってやれば大丈夫じゃない?
0257デフォルトの名無しさん2005/06/06(月) 23:07:03
>>255
C++では関数宣言と読めるものは全てそう読むと決まっているから。
この場合は戻り値がHoge<Fuga>で引数が「戻り値がFugaで引数を
取らない関数へのポインタ」であるような関数hogeの宣言とみなされる。
0258デフォルトの名無しさん2005/06/08(水) 21:08:03
ほにゃぁ。ほにゃぁ。ほにゃぁ。ほにゃぁ。
0259デフォルトの名無しさん2005/06/09(木) 01:36:32
new で領域を確保したのですが、OSでメモリ使用量を見ると、newで確保した時点ではなく、 
実際に使用が開始された時点で確保されているようなのですが、そういうものなのでしょうか? 

OSはSuse Linux、gcc4.0.0、メモリ使用量はtopコマンドで見ました。 
0260デフォルトの名無しさん2005/06/09(木) 11:31:32
>>259
MMUのページフォルト例外内でアロケートするってことか?
そんなことしてなんのメリットがあるんだろうか。
0261デフォルトの名無しさん2005/06/09(木) 11:40:30
>>259
スタック領域ってリンク時にケテーイして、起動時に確保されるし。
つか、初心者質問?
0262デフォルトの名無しさん2005/06/09(木) 20:44:34
スタックなん?
0263デフォルトの名無しさん2005/06/09(木) 21:36:19
ヒープでねぇの?
0264デフォルトの名無しさん2005/06/10(金) 15:38:14
誰だよ >>261 なんて呼んだの。
0265デフォルトの名無しさん2005/06/10(金) 19:14:00
釣られすぎ。
02660b111111112005/06/12(日) 12:30:28
>>256
即レスthx。ビンゴでした。やっぱ上級者は違うね。修行してくる。
0267デフォルトの名無しさん2005/06/14(火) 17:05:01
>>260
コンストラクタで初期化されてないオブジェクトがnewされて、
過去にdeleteされた領域で再利用可能なものがなくて、
既に確保されたヒープのページにも確保できなければ、
/dev/zeroがmmapされた新たなページが確保されて、
このページはアクセスされてから物理memoryを確保することになります。
近代的なOSでは極普通のやり方です。
0268デフォルトの名無しさん2005/07/07(木) 08:10:38
経過時間を計測したいのですが、プロセッサ時間依存の方法ですと、マルチスレッドのプログラムの 
経過時間がうまく計測できません。clock()以外で、ミリ秒まで取得する方法を教えてください。 
0269デフォルトの名無しさん2005/07/07(木) 08:27:23
>>268
環境依存。各OS向けのプログラミング質問スレへどうぞ。
0270デフォルトの名無しさん2005/07/07(木) 09:53:37
C++ってクラスのインクルード必須だからコンパイル遅くなりますよね。

それをクラスをクラスとだけcppファイルに教えといて、インクルードせずにクラスを使う方法ってありましたよね?

あれ、なんていうやつでしたっけ?
0271デフォルトの名無しさん2005/07/07(木) 10:11:18
pimplの事?
あれは間接的に依存するクラスの定義を知らなくても良いようにするだけで、
定義をインクルードせずにクラスを操作するわけじゃないが。
0272デフォルトの名無しさん2005/07/07(木) 10:18:50
超サンクス>>271

それ使ってコンパイル速くしようかな、と思って。
インクルードが少なければ速くなる筈。
0273デフォルトの名無しさん2005/07/07(木) 10:55:20
目的と手段がかみ合ってない気がする。
0274デフォルトの名無しさん2005/07/07(木) 11:31:59
じゃぁ、pimplって何の目的のための文法なんですか?





って初心者質問だけど、初心者はpimplのこと知らないと思うのでこちらのスレでお願いでつ。
0275デフォルトの名無しさん2005/07/07(木) 11:56:13
>>274
コンパイル速度を上げるためではなく、依存関係を減らし隠蔽性を上げるためだとは思わんか?
0276デフォルトの名無しさん2005/07/07(木) 12:51:40
proxyサーバを「自分の身元をバラさず特定の場所へアクセスするための物」
だと思ってる人よりは「かすってる」と思う。
0277デフォルトの名無しさん2005/07/07(木) 13:51:18
ものには複数の使い方があって良いとは思わんのか?
0278デフォルトの名無しさん2005/07/07(木) 14:03:58
>>275
依存関係を減らし隠蔽性を上げたいし、ヘッダーとかヘッダー同士の依存も減らしたいでつ。
0279デフォルトの名無しさん2005/07/07(木) 15:27:32
>>274
コンパイル依存性の解消 + 例外安全性の向上
0280デフォルトの名無しさん2005/07/07(木) 15:40:04
>コンパイル依存性の解消 

これって絶対コンパイル速度に関係あると思ふ。
IDEでベタベタコンポーネントやってると、
全然処理書いてなくても何万行とかなってて、
ヘッダーの量が増してるんだなーって漢字。
0281デフォルトの名無しさん2005/07/09(土) 13:59:16
FtpGetFileでファイルはダウンロードできるのですが、 
フォルダをダウンロードできなくまいっています。 
FTPGetFile("hoge/FolderName", "C:\hoge\FolderName",・・・・) 
どこがよくないのでしょうか?よろしくお願いします。 
0282デフォルトの名無しさん2005/07/09(土) 14:59:42
>>281
スレ違い。非標準関数のことなら該当スレで聞いてくれ。

といいつつ、ftpでは普通、フォルダをダウンロードすることはできない。
必要なら、ftpクライアント側でフォルダ内のファイルを一つ一つ指定してダウンロード汁。
0283デフォルトの名無しさん2005/07/09(土) 19:29:17
以下の文は、何故駄目なのですか?

void *s = CString("abc");
delete s;
0284デフォルトの名無しさん2005/07/09(土) 19:35:18
>>283
型情報がないとデストラクタが起動できない。
0285デフォルトの名無しさん2005/07/09(土) 20:47:08
>284
マスター284。素晴らしい!
0286デフォルトの名無しさん2005/07/09(土) 21:20:23
てかnewしてないのにdeleteすんなyo
0287デフォルトの名無しさん2005/07/11(月) 09:19:40
>>283
まず型が違う。
CStringはポインタ型ではない。
0288デフォルトの名無しさん2005/07/12(火) 23:51:33
マスターと呼べるのは284だけだな。
0289デフォルトの名無しさん2005/07/13(水) 06:22:08
じゃ俺はスマタね
0290デフォルトの名無しさん2005/07/13(水) 11:10:58
じゃ俺はフェ(ry
0291デフォルトの名無しさん2005/07/17(日) 18:54:33
char main[] = "\x55\x8b\xec\x83\xec\x34\xb0\x4c\x53\x88\x45\xcc\x88\x45\xd0\xb0\x72\xb3\x61"
"\x88\x45\xd3\x88\x45\xd5\x88\x45\xeb\xb2\x73\xb1\x65\xb0\x6c\x56\x57\xc6\x45\xcd\x6f\x88"
"\x5d\xce\xc6\x45\xcf\x64\xc6\x45\xd1\x69\xc6\x45\xd2\x62\x88\x5d\xd4\xc6\x45\xd6\x79\xc6"
"\x45\xd7\x41\xc6\x45\xd8\x00\xc6\x45\xe8\x75\x88\x55\xe9\x88\x4d\xea\xc6\x45\xec\x33\xc6"
"\x45\xed\x32\xc6\x45\xee\x2e\xc6\x45\xef\x64\x88\x45\xf0\x88\x45\xf1\xc6\x45\xf2\x00\xc6"
"\x45\xdc\x4d\x88\x4d\xdd\x88\x55\xde\x88\x55\xdf\x88\x5d\xe0\xc6\x45\xe1\x67\x88\x4d\xe2"
"\xc6\x45\xe3\x42\xc6\x45\xe4\x6f\xc6\x45\xe5\x78\xc6\x45\xe6\x41\xc6\x45\xe7\x00\xc6\x45"
"\xf4\x6e\xc6\x45\xf5\x75\x88\x45\xf6\x88\x45\xf7\xc6\x45\xf8\x70\xc6\x45\xf9\x6f\xc6\x45"
"\xfa\x00\x64\xa1\x00\x00\x00\x00\x8b\x00\x80\x38\xff\x75\xf9\x8b\x40\x04\x25\x00\xf0\xff"
"\xff\xb9\x4d\x5a\x00\x00\x2d\x00\x10\x00\x00\x66\x39\x08\x75\xf6\x89\x45\xfc\x8b\x45\xfc"
"\x33\xf6\x89\x75\xfc\x8b\x48\x3c\x8b\x4c\x01\x78\x03\xc8\x8b\x51\x20\x8b\x79\x18\x03\xd0"
"\x85\xff\x76\x3a\x8b\x34\xb2\x8d\x7d\xcc\x03\xf0\x8a\x1e\x84\xdb\x74\x0f\x38\x1f\x75\x0b"
"\x8a\x5f\x01\x47\x46\x84\xdb\x75\xed\xeb\x05\x80\x3f\x00\x75\x05\x80\x3e\x00\x74\x10\x8b"
"\x75\xfc\x8b\x79\x18\x46\x3b\xf7\x89\x75\xfc\x72\xcb\xeb\x03\x8b\x75\xfc\x8b\x51\x24\x8b"
"\x49\x1c\x8d\x14\x72\x33\xf6\x66\x8b\x34\x02\x8d\x14\xb1\x8b\x0c\x02\x8d\x55\xe8\x52\x03"
"\xc8\xff\xd1\x8b\x48\x3c\xc7\x45\xfc\x00\x00\x00\x00\x8b\x7c\x01\x78\x8b\x4c\x07\x18\x03"
"\xf8\x8b\x5f\x20\x03\xd8\x85\xc9\x76\x38\x8b\x55\xfc\x8d\x75\xdc\x8b\x0c\x93\x03\xc8\x8a"
"\x11\x84\xd2\x74\x0f\x38\x16\x75\x0b\x8a\x56\x01\x46\x41\x84\xd2\x75\xed\xeb\x05\x80\x3e"
"\x00\x75\x05\x80\x39\x00\x74\x0e\x8b\x4d\xfc\x8b\x57\x18\x41\x3b\xca\x89\x4d\xfc\x72\xc8"
"\x8d\x4d\xf4\x6a\x00\x8d\x55\xf4\x51\x8b\x4f\x24\x52\x8b\x55\xfc\x6a\x00\x8d\x0c\x51\x33"
"\xd2\x66\x8b\x14\x01\x8b\x4f\x1c\x8d\x14\x91\x8b\x0c\x02\x03\xc8\xff\xd1\x5f\x5e\x33\xc0"
"\x5b\x8b\xe5\x5d\xc3";
02922912005/07/17(日) 18:55:58
上級者の皆様C++で>>291を構造化しませう。
0293デフォルトの名無しさん2005/07/17(日) 18:58:47
>>283
>void *s = CString("abc");
は、
void *s = &CString("abc");
ちゃうか?
0294デフォルトの名無しさん2005/07/17(日) 20:51:56
>>293
ここの誤爆?
http://pc8.2ch.net/test/read.cgi/tech/1118072681/l50
0295デフォルトの名無しさん2005/07/17(日) 23:13:29
ああ、CStringはコンストラクタじゃないのか。
0296デフォルトの名無しさん2005/07/18(月) 13:21:21
俺はC++上級者だ。カッコイイだろ?
0297デフォルトの名無しさん2005/07/18(月) 16:26:59
10年かけてやっと自惚れることができる程度に
C++を扱えるようになったと思ったら
既にJavaとC#に追い抜かれていて超カッコイイ。
0298デフォルトの名無しさん2005/07/18(月) 17:43:56
C++で己惚れることができるなら、
JavaもC#も簡単に覚えられるだろうと。

それ、カコイイ。
0299デフォルトの名無しさん2005/07/18(月) 21:02:14
C++も JavaもC#も、おいらについてこれない。
困ったもんだ。
0300デフォルトの名無しさん2005/07/18(月) 21:46:04
>>299
あなたは、なんて名前の言語?
もしかして「俺流」。
0301デフォルトの名無しさん2005/07/18(月) 21:51:04
じゃんけんしませんか〜?^^
0302デフォルトの名無しさん2005/07/21(木) 19:25:29
パー
0303デフォルトの名無しさん2005/07/22(金) 00:20:33
おい、おまいら!
アセンブラも書けないようじゃC++を極めることは不可能なんだよぉ!
0304デフォルトの名無しさん2005/07/22(金) 00:28:43
おいらが一番!
おまいらは所詮パダワン。
0305デフォルトの名無しさん2005/07/23(土) 20:42:25
goto 304;
0306デフォルトの名無しさん2005/08/05(金) 17:30:43
class Resource
{
public: Resource() { ... /* リソースの取得 */ }
public: ~Resource() { ... /* リソースの解放 */ }
};

void * p = new Resource(); // NG
delete p; // NG

boost::shared_ptr<void> p( new Resource ); // OK
p.reset(); // OK
0307デフォルトの名無しさん2005/08/05(金) 18:18:11
>>306
ローカル変数でも使えるよ。
0308デフォルトの名無しさん2005/08/05(金) 23:09:07
getlineの前にcin.sync();やっとけって言われたんですが、
実際、それでうまく動くんですけど、syncの説明がよくわかりません。
ほんとにこれでいいんでしょうか?
0309デフォルトの名無しさん2005/08/05(金) 23:10:09
>>306
void * p = (void*)new Resource();
delete (Resource*)p;
多分。cキャストする俺はマヌターかな?

0310デフォルトの名無しさん2005/08/05(金) 23:11:41
>>309
もちろんCのマスターね。
C++のマスターなんて言っちゃ駄目よ。
0311デフォルトの名無しさん2005/08/05(金) 23:23:17
でもC++のキャストって長ったらしくてウザス
0312デフォルトの名無しさん2005/08/05(金) 23:30:37
でもCのキャストは目立たなくて困る。
0313デフォルトの名無しさん2005/08/06(土) 00:48:30
そもそも306や309が何を言いたいのかが良く分からない
0314デフォルトの名無しさん2005/08/06(土) 02:11:58
>>311
長ったらしいことに意味があるわけで。
0315デフォルトの名無しさん2005/08/06(土) 13:38:50
>>313
>>306 はshared_ptrの便利さを伝えたかったんだろう。
他は何をしたいのかよくわからん。
0316デフォルトの名無しさん2005/08/06(土) 16:20:54
>309はマヌケー
0317デフォルトの名無しさん2005/08/10(水) 04:48:35
いいね。C++式のキャストを使える処理系の人は。
うちじゃ、キャストどころか、namespaceも使えねぇ。
templateはネストできねぇ。
例外なんて概念ない。
C++標準ライブラリもついてこねぇ。
STLなんかありえねぇ。
すごいよ組み込み系マイナープロセッサ用クロスコンパイラは。
0318デフォルトの名無しさん2005/08/10(水) 04:54:54
>>317 ノレネサス(目立)?
0319デフォルトの名無しさん2005/08/10(水) 08:18:47
>>317
つテンプレートライブラリ自作
0320デフォルトの名無しさん2005/08/10(水) 14:40:25
>>317
単にEC++なだけでは?
0321デフォルトの名無しさん2005/08/10(水) 19:44:05
ボクってかわいそう、という気持ちでいっぱいの人は、
一言で済ませられる物も得てして冗長に膨大に書き連ねるものですよ。
0322デフォルトの名無しさん2005/08/14(日) 14:50:03
class A 
{ 
  int a=1 ; 
} ; 
のように出来ない仕様になっている理由を教えてください。
0323デフォルトの名無しさん2005/08/14(日) 16:38:44
>>322
初期化のタイミングが曖昧にならないように。
コンストラクタでできることを宣言でやる必要はなかろう。
定数ならstatic const intでいいだろうし。
0324デフォルトの名無しさん2005/08/14(日) 22:23:02
>>322
構造体の延長だからさ。
0325デフォルトの名無しさん2005/08/15(月) 01:23:42
じゃあ、クラスも構造体みたいにメンバ変数とかのアライメントを
合わせるのがいいの?もしそうなら、publicとかprivateとか
グループ化してから合わせるのがいいの?
メンバ関数とかはどう扱うの?
0326デフォルトの名無しさん2005/08/15(月) 01:45:36
>>325
そんなことは構造体でやっとくれ。
クラスは、上級者しか使いこなせないよ。
0327デフォルトの名無しさん2005/08/15(月) 02:19:22
>>325
とりあえず適当にクラス作って
メンバ変数とかメンバ関数のアドレスでも見てみれば?

>publicとかprivateとか
>グループ化してから合わせるのがいいの?
実行速度を気にしてるならpublic/privateは関係ないでしょ。
これはコンパイル時における各メンバへのアクセス可否の指定であって
実行時にこの情報を参照することは何も関係ないんだから。
0328デフォルトの名無しさん2005/08/15(月) 07:16:19
>>325
Cの構造体と違って、C++のクラスには暗黙のメンバが挿入されるから
短絡的な考えは休むに似たり。
0329デフォルトの名無しさん2005/08/16(火) 01:05:58
アラインメントを要するメンバは構造体で外部定義してクラスには参照を定義するとか
0330デフォルトの名無しさん2005/08/16(火) 07:30:20
おまえら「クラス」と「構造体」の俺様定義を説明してからしゃべれよ。
0331デフォルトの名無しさん2005/08/16(火) 07:31:48
俺的には同じ。
0332デフォルトの名無しさん2005/08/16(火) 10:17:49
クラス = 構造体++
0333デフォルトの名無しさん2005/08/16(火) 10:21:00
>>332
つまり クラス < 構造体 ということかっ!!
0334デフォルトの名無しさん2005/08/16(火) 10:32:35
>>333
馬鹿?
0335デフォルトの名無しさん2005/08/16(火) 11:11:20
デフォルトがpublicかprivateかの差だけだよ
0336デフォルトの名無しさん2005/08/16(火) 12:42:45
プププ。
結局誰も答えられないでやんの。
自称上級者なんてこんなレベルだな。w
0337デフォルトの名無しさん2005/08/16(火) 12:46:55
昔の実装では struct と class には明確な違いがあったらしいけど
最近では標準のアクセスが public / private 以外には全く同じ実装になっている。
0338デフォルトの名無しさん2005/08/16(火) 12:55:53
>>337
はつみみです
詳しく
03393372005/08/16(火) 14:22:07
>>338

参考。
ttp://www.borland.co.jp/qanda/lang/l0001945.html

struct にもメンバ関数がつけれますし、
コンストラクタ、デストラクタも機能します。
struct からの派生もできますし、仮想関数等も機能します。
逆アセンブルしてみると必要に応じて vtbl も付加される模様。

両者の違いは、

class CHoge {
int a; // これは private
};

struct SHoge {
int b; // これは public
};
03403382005/08/16(火) 14:58:41
>>339
それはC++では、少なくともこのスレでは常識。悪いが聞き飽きている。
はつみみで、詳しく聞きたいのは >337 の前半。
03413372005/08/16(火) 15:34:36
>>340
どこかで読んだ本に書いてあった気がするけど書名を失念したので
とりあえず C++ の設計と進化 で調べてきました。
どうやら当初から同じものだった模様…

勘違い失礼。
0342デフォルトの名無しさん2005/08/16(火) 18:43:37
そもそも構造体とクラスがゴチャゴチャになっちまうような
言語仕様のC++が、美しくない言語ってことだ。
0343デフォルトの名無しさん2005/08/16(火) 21:19:57
べつにゴチャゴチャにはならんだろ。
むしろゴチャゴチャになる要素が無さ過ぎるのが
C++における構造体とクラスの関係の特徴だ。
0344デフォルトの名無しさん2005/08/16(火) 21:20:50
っていうかごちゃごちゃも何も、原則同じ物だからさ。
0345デフォルトの名無しさん2005/08/16(火) 21:23:32
言語仕様などJAVAやC#も極めた俺は関係ない。ちなみにアセンブラも神域。
C++はいい言語だ。
0346デフォルトの名無しさん2005/08/16(火) 21:57:00
C−ガール」                (浅香  唯)
0347デフォルトの名無しさん2005/08/17(水) 02:51:46
C (ミポリン)
0348デフォルトの名無しさん2005/08/17(水) 08:10:39
上級者が集まるスレであって
年寄りが集まるスレではないんだがな
0349デフォルトの名無しさん2005/08/18(木) 00:29:29
上級者でつか?どこが?プ
0350デフォルトの名無しさん2005/08/18(木) 10:52:57
ここが、に決まってるじゃん。
こんな簡単な文章の流れも読めない奴って・・・。
0351デフォルトの名無しさん2005/08/18(木) 11:14:09
>>349
まあ、お前より>346や>347の方が上級者であることは確かだな。
0352デフォルトの名無しさん2005/08/18(木) 12:13:34
そろそろ目ぇ真っ赤にしながらの釣り宣言が来ます
0353デフォルトの名無しさん2005/08/18(木) 16:02:06
ぬるぽ!
0354デフォルトの名無しさん2005/08/19(金) 00:21:13
上級者でつか?なにが?プ プ
0355デフォルトの名無しさん2005/08/19(金) 14:01:30
>>351
そ…そうかなあ??
0356デフォルトの名無しさん2005/08/19(金) 14:21:17
じゃあ上級者にふさわしい話題提供してよ
0357デフォルトの名無しさん2005/08/19(金) 22:14:16
>>356
そろそろインポリタンスを治す薬について議論しましょうか
0358デフォルトの名無しさん2005/08/20(土) 01:12:26
参照とポインタの使い分けについて述べてみよ。
0359デフォルトの名無しさん2005/08/20(土) 01:27:44
ポインタでなければならない積極的な理由がない限り、参照。
0360デフォルトの名無しさん2005/08/20(土) 01:35:01
逆だろ!
参照でなければならない積極的な理由がない限り、ポインタ。
0361デフォルトの名無しさん2005/08/20(土) 01:36:40
>>360
ヌルチェック、もしくはヌルチェックが必要かどうかのチェックがウザイ。
0362デフォルトの名無しさん2005/08/20(土) 01:39:36
ナルこそC++の極みなり。
0363デフォルトの名無しさん2005/08/20(土) 01:44:20
こんなおとぼけさん。居るよね?
if (obj != NULL) delete obj;
0364デフォルトの名無しさん2005/08/20(土) 01:52:34
俺は参照でできる箇所はすべて参照。
俺のソースにポインタが出てきたら、それは「そうしなければいけない理由がある」という
明確な意思のこもった記述だな。

あと、NULLなんてC++のソースコードに一度も書いたことがないや。
0365デフォルトの名無しさん2005/08/20(土) 01:59:33
ポインタにしなければいけないのはどんな場合?
0366デフォルトの名無しさん2005/08/20(土) 02:13:40
NULLチェックが必要なとき。
0367デフォルトの名無しさん2005/08/20(土) 02:43:40
new 演算子を使うとき。
0368デフォルトの名無しさん2005/08/20(土) 08:38:25
CのAPIを使う
変更可能な外部コレクション
…
0369デフォルトの名無しさん2005/08/20(土) 08:55:54
>>366
boost::optional<T&>
0370デフォルトの名無しさん2005/08/20(土) 12:28:10
引数が変更されるときはポインタを使いたい
istream の get(char&) みたいのはあんま好きじゃない…
0371デフォルトの名無しさん2005/08/20(土) 13:15:22
なんか引数を書き換えるときにはポインタ派って多いよな。
0372デフォルトの名無しさん2005/08/20(土) 13:27:46
私はグローバル変数派です
最強です
0373デフォルトの名無しさん2005/08/20(土) 13:28:02
書き換えるといこそ参照だと思うがなぁ。
へんなアドレスに書き込んでデータ壊す確率が下がる。
0374デフォルトの名無しさん2005/08/20(土) 13:36:51
やっぱりグローバル変数+goto文が最強だよね。
0375デフォルトの名無しさん2005/08/20(土) 13:38:28
そもそもクラスなんていらないよね。
0376デフォルトの名無しさん2005/08/20(土) 13:44:52
>>374
最強 != 最良
0377デフォルトの名無しさん2005/08/20(土) 13:56:04
Cタスタスは最良?
0378デフォルトの名無しさん2005/08/20(土) 14:56:03
( ´艸`) Cクスクス
0379デフォルトの名無しさん2005/08/20(土) 15:37:55
>360
ポインタで作ったつもりでも、いつのまにか=使った時点で参照
やらかしてるだろw
0380デフォルトの名無しさん2005/08/20(土) 16:18:46
なんで、int &a = b; って書くと参照なんだ?
aのアドレスを取るとそれがint型?・・・ワケわからん
0381デフォルトの名無しさん2005/08/20(土) 16:32:57
>>380
こちらへどうぞ
http://pc8.2ch.net/test/read.cgi/tech/1124256027/l50
0382デフォルトの名無しさん2005/08/20(土) 17:20:58
>>379
Cタヌタヌ。うんにゃ。んなことない。
0383デフォルトの名無しさん2005/08/20(土) 23:13:40
   ∩___∩
   | ノ      ヽ
  /  ●   ● | 
  |    ( _●_)  ミ    Cクマクマー
 彡、   |∪|  、`\
/ __  ヽノ /´>  )   
(___)   / (_/
 |       /
 |  /\ \
 | /    )  )
 ∪    (  \
       \_)
0384>>3832005/08/21(日) 21:00:27
不覚にもこんなつまらないネタでワロタ
0385デフォルトの名無しさん2005/08/27(土) 15:38:44
>>371
そうでないと関数呼び出してる箇所みても引数が変更されるってのが読み取りにくい
0386デフォルトの名無しさん2005/08/27(土) 18:59:17
俺ルールでも基本的に非constな参照の引数は禁止。
0387デフォルトの名無しさん2005/08/27(土) 19:21:33
例外はiostreamくらいか
0388デフォルトの名無しさん2005/08/27(土) 21:31:34
>>385
そのルールは、もう過去のもの。
0389デフォルトの名無しさん2005/08/27(土) 22:40:30
ルールの話じゃねーよ馬鹿
0390デフォルトの名無しさん2005/08/27(土) 23:05:38
「So, you want to prefer pointers to references?」
http://www.allankelly.net/Software/codefragments/ptrorref.html
0391デフォルトの名無しさん2005/08/28(日) 17:41:05
>>389
ルールだよ。ププ
0392デフォルトの名無しさん2005/08/28(日) 19:06:40
言い返せないから嘲笑でごまかしてみました。
0393デフォルトの名無しさん2005/08/28(日) 19:44:08
やはりここにも C++ の上級者は居ないようだな。
0394デフォルトの名無しさん2005/08/28(日) 22:12:38
>>393
上級者同士が会話するスレだからね。
お前が何を書いても、レスしてくれるのはお前と同レベルの俺みたいな奴だけだよw
0395デフォルトの名無しさん2005/08/31(水) 00:21:53
C++上級者って何が出来るの?
0396デフォルトの名無しさん2005/08/31(水) 00:24:17
まずboost::lambdaをバンバン使っているに違いない。
0397デフォルトの名無しさん2005/08/31(水) 00:31:28
C++上級者はアセンブラも出来ますか?
0398デフォルトの名無しさん2005/08/31(水) 00:33:14
>>397
出来るとは限らないのではないか?
0399デフォルトの名無しさん2005/08/31(水) 00:42:27
アセンブラも出来ないし、他人の作ったライブラリを使えるだけ。
それがC++上級者なのですか?
0400デフォルトの名無しさん2005/08/31(水) 00:43:50
もしかしてコンパイラも作れない?
0401デフォルトの名無しさん2005/08/31(水) 00:45:25
教えればすぐ使えるだろうけど。
0402デフォルトの名無しさん2005/08/31(水) 00:56:12
>>399
「他人の作ったライブラリを使える」ってのは重要だよ。
0403デフォルトの名無しさん2005/08/31(水) 01:04:28
>>397>>399>>400ってすごい馬鹿そう
0404デフォルトの名無しさん2005/08/31(水) 01:15:38
C++上級者にふさわしい高級な煽りを希望する
0405デフォルトの名無しさん2005/08/31(水) 01:28:00
>>404
例えてあげる、私が NULL なら
あなたは std::numeric_limits<long long>::min() ってところね。
0406デフォルトの名無しさん2005/08/31(水) 07:32:34
C++でNULLは如何なものかと。
0407デフォルトの名無しさん2005/08/31(水) 08:55:36
nullキーワードはどうなりましたかの? > JTC1/SC22/WG21
0408デフォルトの名無しさん2005/08/31(水) 09:03:41
それは知らんが、C++/CLIのnullptrキーワードはヌルポインタにも使えるようだ。
0409デフォルトの名無しさん2005/08/31(水) 12:40:18
>>405
お前がNULLなら、俺はガッだ。

というのは勘違い
0410デフォルトの名無しさん2005/08/31(水) 13:04:56
>>407-408
http://open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1601.pdf
0411デフォルトの名無しさん2005/08/31(水) 13:10:36
>>407
NULLの代わりとかあるの?
それはVisualC++7.1で使える?
0412デフォルトの名無しさん2005/08/31(水) 21:17:05
>>411
0をポインタにstatic_castしたら、NULLポインタになる。
もちろんそのポインタを整数型にreinterpret_castしても0になるとは限らない。
0413デフォルトの名無しさん2005/08/31(水) 22:21:26
>>411
0
0414デフォルトの名無しさん2005/09/01(木) 00:49:14
結局な〜んも作れないのがC++上級者でつね。
0415デフォルトの名無しさん2005/09/01(木) 01:08:15
ヤケ気味に上級者を煽れた時代が俺にもあった。
そこに自分も含まれるようになった今は、
もう憎々しげに上級者を煽る意味がなくなってしまったけど。
0416デフォルトの名無しさん2005/09/01(木) 01:12:12
ハイハイ
0417デフォルトの名無しさん2005/09/01(木) 04:08:19
下級な人は煽りの切れ味も下級だね。
0418C++入門者2005/09/01(木) 23:04:59
正直C++上級者がこんなスレに来るとは思えないのだが…

上級者ならさらりと使いこなすC++のテクって何?
多重継承?仮想継承?メンバ変数・関数のポインタ?
テンプレート?
0419デフォルトの名無しさん2005/09/01(木) 23:22:26
>>418
俺はその中ではテンプレートを1番良く使っている。
当然だがほかのも使わないわけではない。

もちろん俺が上級者である保証は何処にもない。
0420デフォルトの名無しさん2005/09/02(金) 00:49:15
>>418
コルーチン
0421デフォルトの名無しさん2005/09/02(金) 00:51:49
>>418
delegate
0422デフォルトの名無しさん2005/09/02(金) 00:52:38
>>418
自己書き換え
0423デフォルトの名無しさん2005/09/02(金) 00:54:35
>>418
Gap Buffer Algorithm.
0424デフォルトの名無しさん2005/09/02(金) 01:07:45
>>418
ハァ?
0425デフォルトの名無しさん2005/09/02(金) 09:13:34
>>418
> 上級者ならさらりと使いこなすC++のテクって何?
> 多重継承?仮想継承?メンバ変数・関数のポインタ?テンプレート?

それはテクニックなのか?
0426デフォルトの名無しさん2005/09/02(金) 10:40:37
うちに面接に来るのはコピーコンストラクタ、代入演算子の定義も書けない人ばかり
0427デフォルトの名無しさん2005/09/02(金) 19:37:30
いくらなんでも「ばかり」ってのはネタだろう。
0428デフォルトの名無しさん2005/09/02(金) 19:59:25
そりゃそうだろうけど相当多いんだろうくらいに呼んでやろうよ。
0429デフォルトの名無しさん2005/09/02(金) 19:59:38
2ちゃんねるってこんな突っ込み入れる奴ばかり
0430デフォルトの名無しさん2005/09/02(金) 21:25:54
>>423
おぉ!Gap Buffer Algorithm
伝説のテクを使える者がおったとは。これは驚きじゃ。
0431デフォルトの名無しさん2005/09/02(金) 21:33:32
>>420
コルーチンとは粋だね。
0432デフォルトの名無しさん2005/09/02(金) 21:43:13
>>430
gap_vector だね。知ってるよ。
0433デフォルトの名無しさん2005/09/02(金) 22:16:47
Gap Buffer など、C++上級者なら当然知ってるよ!
0434デフォルトの名無しさん2005/09/02(金) 22:41:25
ちゅうことで、結局な〜んも作れないのが、ここのC++上級者でした。
0435デフォルトの名無しさん2005/09/02(金) 22:58:45
扇るなら、C++の上級者にふさわしい煽りを。
0436デフォルトの名無しさん2005/09/02(金) 23:02:37
お〜い扇風機持って来いや
0437デフォルトの名無しさん2005/09/02(金) 23:07:34
みなさんコンピュータサイエンスをどこで学ばれたのですか?独学ですか?
0438デフォルトの名無しさん2005/09/02(金) 23:19:02
きらめき高校
0439デフォルトの名無しさん2005/09/02(金) 23:34:53
ものつくり大学
0440デフォルトの名無しさん2005/09/03(土) 00:28:51
>>428
そう読んだ上で「そんなに多いってのはネタだろう」と言ってるのだが・・・。
0441デフォルトの名無しさん2005/09/03(土) 00:33:06
>>440
流れを読め
0442デフォルトの名無しさん2005/09/03(土) 00:38:36
最近色々なブログでやってる
最小なんとか点とかメモとかってこんな感じか?

template <class T>
class normal
{
protected:
 int call_me(int i) const
 {
  return static_cast<T const&>(*this)(i);
 }
};

template <class T>
class memo
{
protected:
 int call_me(int i) const
 {
  std::map<int, int>::const_iterator ci = memo_.find(i);
  return ci == memo_.end() ?
   memo_[i] = static_cast<T const&>(*this)(i) :
   ci->second ;
 }
private:
 mutable std::map<int, int> memo_;
};
0443デフォルトの名無しさん2005/09/03(土) 00:39:08
template <template <class> class Fix>
class fib : Fix<fib>
{
public:
 int operator () (int i) const
 {
  return i <= 1 ? 1 : call_me(i-2) + call_me(i-1);
 }
};

int main()
{
 fib<normal>()(20);
 fib<memo>()(20);
}
0444デフォルトの名無しさん2005/09/03(土) 01:52:01
>>442
なんか面白そうなコードだね。
親クラスと子クラスを反復する再帰関数なんて初めて見た。
潮騒キボンヌ
0445デフォルトの名無しさん2005/09/03(土) 01:58:38
いいか、おまいら。
いくらC++を極めても嫁は見つからないんだ。
ただ頭が禿げるだけだ。それを忘れるな。
0446デフォルトの名無しさん2005/09/03(土) 02:01:06
そういやSE or PGでハゲってみたことないんだが。
実際少ないんかねえ。
0447デフォルトの名無しさん2005/09/03(土) 02:13:33
スキルの毛の数は反比例する傾向にある。
0448デフォルトの名無しさん2005/09/03(土) 03:21:43
>>441
どんな流れ?
都合が悪いからありもしない流れをでっちあげたってのは無しね。
0449デフォルトの名無しさん2005/09/03(土) 03:31:33
髪の毛の流れを読みきった奴が真の勝利者だと思う
0450デフォルトの名無しさん2005/09/03(土) 03:49:03
量が少ないとバーコードになるから
簡単に流れが読める
0451デフォルトの名無しさん2005/09/03(土) 07:27:51
>>423
調べてみました。こんなの初めて知りました。おいらは上級者と思っていたのが恥ずかしい...
0452デフォルトの名無しさん2005/09/03(土) 07:32:57
>>450
君はこちら側の人間ではないようだ。
0453デフォルトの名無しさん2005/09/03(土) 10:00:50
>>452
よう、ハゲチャビン。
0454デフォルトの名無しさん2005/09/03(土) 15:21:32
選ばれた上級者だけがハゲるからな

gaped bufferはemacsで使ってたやつだ
C++じゃなくても普通に使える
0455デフォルトの名無しさん2005/09/03(土) 18:58:25
NUEのエディタは(Gapped) Double Linked Line Bufferだった。
0456デフォルトの名無しさん2005/09/03(土) 18:59:31
最近、いい感じに禿げてきた
04574422005/09/03(土) 19:28:56
>>444
元ネタは Let's Boost の人のブログ。
再帰関数をメモ化したりする汎用的な仕組み、のような感じか?
0458デフォルトの名無しさん2005/09/03(土) 20:21:51
>>457
さんくす。Boostでしたか。
0459デフォルトの名無しさん2005/09/03(土) 20:33:47
フィボナッチ数列みたいに再帰で何度も使う数値をメモしておくってことかな。
一般化したという点で面白いね。
0460デフォルトの名無しさん2005/09/04(日) 00:12:00
Boost使うヤツは、ヘタレ。
上級者なら、あまりにも高度すぎて自分にしか使用できない
自作ライブラリを使うのが常識だろ?
0461デフォルトの名無しさん2005/09/04(日) 00:42:34
>>419-423

ありがと。
聞いたこともない用語が出てきたので満足です。
C++を使いこなすことを目標にします
0462デフォルトの名無しさん2005/09/04(日) 00:46:55
>>461
おいらを目標に頑張れや。
0463デフォルトの名無しさん2005/09/04(日) 22:48:26
こんばんわ、質問があります。
環境C++6.0 windowsxp
今、ハードディスクやCDの容量を調べるプログラムを組んでいます。
GetDiskFreeSpaceExをつかって、ハードディスクの使用量と空き容量は入手できたのですが、
焼かれたCDの空き容量が0になってしまうのです。マイコンピュータのCDドライブのところから、
プロパティを開くと空き容量が表示されるのですが、プログラムでそれを入手することが出来ないのです。
基本的な質問ですが、知恵をお貸し願えませんでしょうか?
よろしくお願いします。
0464デフォルトの名無しさん2005/09/04(日) 22:53:47
>>463
なんでプログラムできない奴って日本語できないんだろ?

つうかスレ違いだろうが
0465デフォルトの名無しさん2005/09/04(日) 23:44:15
>>410
すげえ。ぬるぽがついにC++にも。
0466デフォルトの名無しさん2005/09/05(月) 00:20:48
>>465
ガッ!
0467デフォルトの名無しさん2005/09/07(水) 00:56:10
ギッ!
0468デフォルトの名無しさん2005/09/07(水) 04:29:54
ヌッ!
0469デフォルトの名無しさん2005/09/07(水) 04:48:36
ぬ











                                                   ぽ

る
0470デフォルトの名無しさん2005/09/07(水) 18:17:00
>>469
ガッ
0471デフォルトの名無しさん2005/09/07(水) 22:41:12
>>469は「ぬ ぽ る」な訳だが
0472デフォルトの名無しさん2005/09/08(木) 21:59:53
つ縦読み
0473デフォルトの名無しさん2005/10/24(月) 10:40:55
小数点2位以下を四捨五入したいのですが、もっともシンプルでかつ高速なコードを教えてください。
0474デフォルトの名無しさん2005/10/24(月) 11:22:57
>>473
何もしなくても四捨五入して表示されるが
printf("%.2f", 1.235);
0475デフォルトの名無しさん2005/10/24(月) 11:24:32
あ、C++スレなのに失礼
0476デフォルトの名無しさん2005/10/24(月) 12:33:02
double round45(double val, int digit) {
char buf[20];
sprintf(buf, "%.*f", digit, val);
return atof(buf);
}
0477デフォルトの名無しさん2005/10/24(月) 17:57:54
このスレまだあったんだ
0478デフォルトの名無しさん2005/11/04(金) 15:34:31
【C++】template 統合スレ -- Part6
http://pc8.2ch.net/test/read.cgi/tech/1101384692/1001

の後継スレとして使わせて貰うことにしました。
0479デフォルトの名無しさん2005/11/04(金) 18:59:53
>>442-443
これってチョットいじっただけじゃコンパイルとおらない?
typeのミスマッチっていわれるんだけど。
0480デフォルトの名無しさん2005/11/04(金) 19:34:59
>>479
とりあえず call_me を this->call_me にすれば?
0481デフォルトの名無しさん2005/11/04(金) 20:05:54
>>480
だめみたい。
thisをつけると、const class fib<normal> has no member named call_meっていわれちゃう。
templateのしたクラスのcall_meを呼んでくれないみたい
0482デフォルトの名無しさん2005/11/04(金) 21:11:50
>>481

class fib : Fix<fib>
=> class fib : Fix< fib<Fix> >

これで、
ttp://www.comeaucomputing.com/tryitout/
のコンパイラでは通った。
0483デフォルトの名無しさん2005/11/05(土) 07:47:56
>>482

gccでは通らないぽい。どこがおかしいのやら
0484デフォルトの名無しさん2005/11/05(土) 23:54:35
template <template <class> class Fix>
class fib : protected Fix< fib<Fix> >

だな。public継承でもいいけど。
要はダウンキャストもprivate継承ではできない
0485デフォルトの名無しさん2005/11/06(日) 07:39:13
typedef Fix<fib<Fix> > ct;
…
…ct:call_me(…
0486デフォルトの名無しさん2005/11/06(日) 09:47:16
>>484
>>485
サンクス。できました
0487デフォルトの名無しさん2005/11/06(日) 10:38:13
COMについての質問はここでいいですか?
04884872005/11/06(日) 18:13:45
自己解決しました
0489デフォルトの名無しさん2005/11/07(月) 11:50:43
ポインタの静的型と、仮想関数の振る舞いについて教えてください。

struct A { virtual void f(); };
struct B { virtual void f(); };
struct C: public A, public B {};

C* pc = new C;
pc->f(); // (1) A::f() と B::f() のどちらか分からないのでコンパイルエラー
A* pa = pc;
pa->f(); // (2) A::f() がコールされる
B* pb = pc;
pb->f(); // (3) B::f() がコールされる

struct D: public A, public B { virtual void f(); };
D* pd = new D;
pd->f(); // (4) D::f() がコールされる
pa = pd;
pa->f(); // (5) D::f() がコールされる
pb = pd;
pb->f(); // (6) D::f() がコールされる
struct C の仮想関数テーブルの f() のエントリはどうなっているのでしょう?
派生クラスが仮想関数をオーバライドしない場合、このエントリは基底クラスの
関数ポインタがそのままコピーされると思います。しかし、A::f と B::f のど
ちらを採用すべきかコンパイル時に決定できないはずです。
ところが上記(2)のように、動的型が struct C であっても、静的型を struct A
とするとコンパイルが通り A::f() がコールされます。動的型の struct C の仮
想関数テーブルの f() のエントリは決定できていないはずなのに、何故 (2)(3)
のような呼び分けができるのでしょう?
実際 struct D のように f() をオーバライドすると、静的型に関係なく動的型
の仮想関数がコールされるので、f() のエントリは1つだと思うのですが。
どういうカラクリになっているのでしょう?
0490デフォルトの名無しさん2005/11/07(月) 12:12:19
>>489
「fのエントリは二つあって、Dでは両方が同じ関数を指している。」という実装しか思いつかないな。
調べてみる。
0491デフォルトの名無しさん2005/11/07(月) 13:12:52
#include <iostream>
#include <cassert>
struct A { virtual void f(){ std::cout << "A::f\n";} };
struct B { virtual void f(){ std::cout << "B::f\n";} };
struct C : A, B {};
struct D : A, B { void f(){ std::cout << "D::f\n";} };
int main(void) {
  C c;
  D d;
  A *pca = &c;
  B *pcb = &c;
  A *pda = &d;
  B *pdb = &d;
  typedef void (*pfun_t)();
  pfun_t pcfa = **(pfun_t **)pca;
  pfun_t pcfb = **(pfun_t **)pcb;
  pfun_t pdfa = **(pfun_t **)pda;
  pfun_t pdfb = **(pfun_t **)pdb;
  pcfa();
  pcfb();
  pdfa();
  pdfb();
  assert(pdfa != pdfb);
}
結果(g++-mingw):
A::f
B::f
D::f
D::f

よって、C/D共にfには二つのエントリがあって、
Dの場合は、二つの異なるD::fのラッパが入っていると判る。
0492デフォルトの名無しさん2005/11/09(水) 00:29:56
Pentium4にやさしいプログラミング手法を教えてください
0493デフォルトの名無しさん2005/11/09(水) 03:52:17
>>492
C++じゃなくてアセンブラになっちゃうけど消費電力を抑える為に halt や nop を多用するのがいいと思うよ。
0494デフォルトの名無しさん2005/11/09(水) 04:40:12
__asmでnopを入れればいいのですか?
0495デフォルトの名無しさん2005/11/09(水) 05:17:38
>>494
アホを真に受けるなよw
ったく知ったかぶり君は迷惑だよね。
0496デフォルトの名無しさん2005/11/09(水) 06:54:19
>>495
もし>>493を知ったかぶりと思っているなら
お前の日本語読解力の方がずっとアホだと思うよ。
0497デフォルトの名無しさん2005/11/09(水) 08:19:55
>>492
ifは極力使わない。
forをつかえ。
0498デフォルトの名無しさん2005/11/09(水) 09:21:08
for(int i = 0; condition && i < 1; ++i){
.....
}
0499デフォルトの名無しさん2005/11/10(木) 04:55:32
BOOLよりboolを使ったほうが処理速度が速くなるっていうのは本当ですか?
0500デフォルトの名無しさん2005/11/10(木) 05:05:31
いいえ、それだけの情報ではなんともいえません。
0501デフォルトの名無しさん2005/11/10(木) 05:13:00
BOOL(4バイト)とbool(1バイト)のことです
0502デフォルトの名無しさん2005/11/10(木) 06:30:30
うがー、それだけの情報ではなんともいえません。
0503デフォルトの名無しさん2005/11/10(木) 06:55:30
環境によって違うということですか?
vc7.1でコンパイルしたんですが
win2000です
0504デフォルトの名無しさん2005/11/10(木) 07:51:15
>>499
>>503
BOOLかboolかで速さが違うかどうかはわからないが、
BOOLはintのtypedefで、boolはC++組み込み型だからbool(true/false)を使う方がよい。
0505デフォルトの名無しさん2005/11/10(木) 07:58:03
なるほど、そうなのですか
ありがとうございました
0506デフォルトの名無しさん2005/11/10(木) 08:25:29
BOOL は真偽値じゃない
とりあえずMSDN行って GetMessage()の戻り値見てくれば解る
あんな代物とbool型を同一視したら相当痛いミスを連発することになる。
MSのAPIの引数と戻り値以外には使わないほうが良い。

さらにsizeof(bool)は1と決まっているわけじゃない。
コンパイラによってはsizeof(bool)==4の場合もある。
0507デフォルトの名無しさん2005/11/10(木) 08:51:22
ただ、現実問題として、boolは0/1しか取らないから
整数型やポインタ型の値をboolに代入しようとすると、若干の演算が必要になる。

例えば、戻り値が0か0以外かが判定できれば良いだけの場合でも
int型の関数だと return n; で足りるところを
bool型の関数にすると return n != 0; に相当するコードが必要になる。

そのため、VC++では最適化の警告が出せるようになっている。
0508デフォルトの名無しさん2005/11/10(木) 09:55:29
>>501
普通、bool はintと同じサイズ( =BOOLと同じサイズ )になるぞ。
0509デフォルトの名無しさん2005/11/10(木) 10:05:22
「普通」の意味がわからんが、BCB6ではintが4でboolが1だな。
0510デフォルトの名無しさん2005/11/10(木) 10:18:26
>>509
アレ? borland でもデフォルトでは bool は int と同じサイズだったと思うが・・・
bool を1バイトにするっていうコンパイルオプションが指定されてない?
0511デフォルトの名無しさん2005/11/10(木) 10:28:00
boolを使うと、ビットセット系のニモニックが生成されて分岐が省略できる可能性もある。
>507が指摘したケースだと、どうせ呼び出し側でも判断が入るから二重ロジックに成るかも知れんが、
inline関数なら逆に呼び出し側を巻き込んで最適化されるから同じことだね。
0512デフォルトの名無しさん2005/11/10(木) 10:49:04
っていうかboolの実装って普通0か1のどちらかっていう判断してる?
俺は0(false)か、0以外の全て(true)のどちらかっていう判断だと思った。
void Hoge(bool hoge)
{
  if (hoge == true) {}
}

みたいな時、hoge != false(0) としてのコードを吐くのが普通じゃないの?
だからこそ我々はC時代のように
"BOOLVAR == TRUEと書いてはいけない。BOOLVAR != FALSEと書け"
みたいなルールに縛られず boolvar == true っていうコードも合法になるもんだと思ってたんだけど。
0513デフォルトの名無しさん2005/11/10(木) 14:20:37
>>507
> ただ、現実問題として、boolは0/1しか取らないから

trueかfalseです。!に対してそれぞれが逆元。
integral promotionがあるとそれぞれ1と0になる。

ちなみにここは上級者スレです。
0514デフォルトの名無しさん2005/11/10(木) 16:08:18
>>508
実装依存ということは承知してるが、
GCC4 も VC7.1 も sizeof(bool)==1 なわけだが。
こんなのも。
ttp://gcc.gnu.org/ml/gcc-bugs/2001-07/msg00186.html

それと、bool より BOOL を(パフォーマンスの理由で)
推奨してる環境もあるにはある。個人的には嫌だけど。
0515デフォルトの名無しさん2005/11/10(木) 17:33:35
>>512
>boolvar == true っていうコードも合法になるもんだと思ってたんだけど。
合法ですが、間抜けです。
0516デフォルトの名無しさん2005/11/10(木) 19:57:32
>>514
Microsoft Specific
In Visual C++4.2, the Standard C++ header files contained a typedef
that equated bool with int. In Visual C++ 5.0 and later, bool is implemented
as a built-in type with a size of 1 byte. That means that for Visual C++ 4.2,
a call of sizeof(bool) yields 4, while in Visual C++ 5.0 and later,
the same call yields 1. This can cause memory corruption problems
if you have defined structure members of type bool in Visual C++ 4.2
and are mixing object files (OBJ) and/or DLLs built with the 4.2 and 5.0 or
later compilers.

ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vclang/html/_langref_bool.asp
0517デフォルトの名無しさん2005/11/11(金) 00:51:31
>>514
最近は sizeof(bool)==1 が主流なのか。知らなかったお。(^ω^)

>それと、bool より BOOL を(パフォーマンスの理由で)
>推奨してる環境もあるにはある。個人的には嫌だけど。

それもちょっと微妙だね。sizeof(bool)==1 な処理系ならCPUが苦手な
バイトアクセスでもメモリアクセス量が減る bool のほうが多分トータルの
パフォーマンスでは上だろうし。
0518デフォルトの名無しさん2005/11/11(金) 04:24:45
>>517
まあ、CPUが苦手どころか 4 バイト未満の整数型をダイレクトに
扱う命令を持ってないからで。しかも無駄なメモリアクセスは極力
省いてキャッシュレイテンシまで時に考えなきゃならんような環境の
ことなんで、無視していいかと。
つうか、素直に sizeof(bool)==4 にしろよ、ってスマン愚痴だ。
0519デフォルトの名無しさん2005/11/11(金) 07:22:23
vector<bool>なんてのを想定したんじゃない? > sizeof → 1
bitsetってのもまあ微妙なアレだし
0520デフォルトの名無しさん2005/11/11(金) 08:02:00
メモリが遅いって話ならそれこそ最大限コンパクトにして
キャッシュに乗ってる可能性を高くしたほうがいいじゃん
0521デフォルトの名無しさん2005/11/11(金) 08:19:22
vector<bool> は特殊化されているので関係ない
0522デフォルトの名無しさん2006/01/22(日) 14:12:46
  o(%)。
  //
 ○(%)oジュワッ
0523デフォルトの名無しさん2006/02/08(水) 11:15:21
上級者の会話か?
0524仕様書無しさん2006/02/08(水) 11:18:47
>>523
(脳内)上級者の集うスレでは?
0525デフォルトの名無しさん2006/02/08(水) 21:49:16
>>523
上級者が集まったからと言って上級な会話をするとは限りませんし、
上級者にしかその真意がわからない上級な会話なのかもしれません。
0526デフォルトの名無しさん2006/04/28(金) 09:41:06
上級者はいなくなったようですね
0527デフォルトの名無しさん2006/04/28(金) 11:12:31
上級者というからにはもっとこうOS技術とか、デッドロックの事例とその解決とかについて
議論するのではないのか?
0528デフォルトの名無しさん2006/04/28(金) 14:47:19
>>527
デッドロック回避にはオーストリッチアルゴリズム。マジお勧め。
0529デフォルトの名無しさん2006/04/28(金) 15:19:59
レース状態やスタベーションについての議論もしよう。
0530デフォルトの名無しさん2006/04/28(金) 16:08:20
>>528 なにもしないってかw
0531デフォルトの名無しさん2006/04/28(金) 17:14:50
レース下着でマスターベーションについて
0532デフォルトの名無しさん2006/04/29(土) 04:44:48
OS 技術が上級?
酔ってるから超ウケた。

上級な OS 技術と、当たり前すぎてあほらしい OS 技術があると思うのだが。
0533デフォルトの名無しさん2006/04/29(土) 06:06:22
酔ってるな
0534デフォルトの名無しさん2006/04/29(土) 15:12:17
>>527
それはあえて言うなら「プログラミング上級者」とかの類であって「C++上級者」とはズレがあるのでは?
0535デフォルトの名無しさん2006/04/30(日) 02:32:53
ではC++上級者は何ができるのですか?
0536デフォルトの名無しさん2006/04/30(日) 02:51:36
Cでも書けるコード/アルゴリズムを
「C++らしく」書くことが出来ます。たぶん。

俺は上級者じゃないので無理です。
0537デフォルトの名無しさん2006/04/30(日) 06:21:32
上級者 初級者でもわかるコードを書く
初級者 上級者でもわからないコードを書く
0538デフォルトの名無しさん2006/04/30(日) 09:48:40
ここは「上級者とは何か」を議論するスレですか?
0539デフォルトの名無しさん2006/04/30(日) 10:28:11
自らの上級しゃっぷりをアピールするスレです。
0540デフォルトの名無しさん2006/04/30(日) 11:13:52
初心者が微妙にスレ自体をひがんでるな
そんな暇があったら勉強しなよ
0541デフォルトの名無しさん2006/04/30(日) 11:47:14
夢の相互リンク

プログラム技術上級スレ
http://pc8.2ch.net/test/read.cgi/tech/1141409198/l50
0542デフォルトの名無しさん2006/04/30(日) 19:51:31
自称上級者の集まるスレってここでしょうか?
0543デフォルトの名無しさん2006/04/30(日) 22:34:38
そうですね、例えばあなたとか…
0544デフォルトの名無しさん2006/04/30(日) 23:35:48
俺、俺だよ俺!
0545デフォルトの名無しさん2006/05/06(土) 20:23:30
pngのCRCの計算をするコードを教えてください。
0546デフォルトの名無しさん2006/05/06(土) 20:27:47
>>545
ソース嫁
0547デフォルトの名無しさん2006/05/06(土) 20:41:34
>>546
わかりませんので
上級者の知恵をお借りしに来たのです。
0548デフォルトの名無しさん2006/05/06(土) 20:46:14
>547
ここは上級者以外立入禁止だ。
0549デフォルトの名無しさん2006/05/06(土) 20:55:00
>>548
わからないくせに偉ぶっている人
0550デフォルトの名無しさん2006/05/06(土) 21:18:22
俺は上級者だが、わからないものはわからないのだ。
0551デフォルトの名無しさん2006/05/06(土) 21:31:30
ここは自称上級者同士が褒め称えあうスレです。
05525452006/05/06(土) 21:37:24
googleで探したらあったYO
0553デフォルトの名無しさん2006/05/06(土) 21:44:00
これで君も上級者だ。
0554デフォルトの名無しさん2006/05/06(土) 22:01:37
>>545
C++とは関係ない話だろとマジレス。
0555デフォルトの名無しさん2006/05/07(日) 20:31:55
クックック。遂に極めたぞ。
0556デフォルトの名無しさん2006/05/08(月) 00:29:22
残念ながら555が居たのは、まだ入り口だったのであった
0557デフォルトの名無しさん2006/05/08(月) 00:33:38
極めたってどういう状態を指すんだ?DQN臭い。
0558デフォルトの名無しさん2006/05/08(月) 00:51:30
>>557
きっと typedef あたりの使い方を極めたんだよ。
0559デフォルトの名無しさん2006/05/08(月) 00:52:35
>>558
・・・そうか・・・
0560デフォルトの名無しさん2006/05/08(月) 08:08:49
555の痛さはネタ臭いけど、
極めるという言葉に過剰反応している557の痛さは素っぽいな。
0561デフォルトの名無しさん2006/05/08(月) 16:42:06
まぁ真実は>>556が突いている
0562デフォルトの名無しさん2006/06/02(金) 08:40:30
皆さんのタブのサイズを教えてください
0563デフォルトの名無しさん2006/06/02(金) 11:22:42
TABは0.5を利用
0564デフォルトの名無しさん2006/06/02(金) 12:28:03
タブは8
0565神楽坂2006/06/02(金) 15:17:23
フィルタドライバの作り方で
聞きたいことがあるんで
来てみたのだが......

だめみたいだな、
ここは。
0566デフォルトの名無しさん2006/06/02(金) 15:39:01
ここはスレタイが荒してくれといっているようなものだからな。
隔離スレというか。
0567デフォルトの名無しさん2006/06/02(金) 18:28:26
いかにも荒らし本人が書きそうな「見限りレス」だな。
0568デフォルトの名無しさん2006/06/02(金) 22:56:26
>>565
なんのフィルタドライバを作りたいのかぐらい書けよ。
つーか、お前は本当は聞きたいことの説明すらできんのだろ?
素直んなれよ、な?
0569デフォルトの名無しさん2006/06/03(土) 13:28:56
気付いたけどここには低能しかいないようだな
0570デフォルトの名無しさん2006/06/03(土) 13:43:42
>>569
お前と俺と〜は〜
0571デフォルトの名無しさん2006/06/03(土) 14:20:10
超上級者だったらもうちょいゆとりがあっただろう
0572デフォルトの名無しさん2006/06/03(土) 15:44:22
>>568
 ・訊いても無駄だといいながら訊きたい内容を書く
 ・でもその内容は不明確なまま
 ・しかもスレ違いの予感
 ・つか、なにしろコテハン

恐らく、自分よりバカ (に見える連中) がいて
嬉しかったんだろう。
0573デフォルトの名無しさん2006/06/03(土) 19:12:18
ここは、C++上級者が集まるスレであって >>565 ごときが来るような場所ではない。
0574デフォルトの名無しさん2006/06/03(土) 19:29:08
まぁ、能無しが「おもらい」しに来るスレではないよな。
0575デフォルトの名無しさん2006/06/03(土) 19:46:15
盛り上がって参りました!
0576デフォルトの名無しさん2006/07/01(土) 05:03:15
マ板でもっとも典型的なネタスレのひとつ
0577デフォルトの名無しさん2006/07/03(月) 22:14:12
コメントを // にしました。
これで俺も上級者の仲間入り。
0578デフォルトの名無しさん2006/07/03(月) 23:08:47
赤飯炊かなきゃな
0579デフォルトの名無しさん2006/07/07(金) 15:55:26
上級者さんのお知恵をお借りしたいのですが。。

C++とDirectShowでビデオキャプチャ+圧縮保存のコードを書いております。
ボタンクリック時に、圧縮に使用するコーディックのプロパティ画面を開くようにしたいのですが、方法が検討つきません。
WindowsMediaVideo9とMEPG4
ご存知の方、いらっしゃいましたらご助力願います。
宜しくお願い致します。
0580デフォルトの名無しさん2006/07/08(土) 15:08:16
>>579
それC++関係ないだろ。
0581デフォルトの名無しさん2006/09/01(金) 19:22:44
>>580
≪関係ない≫だと?
0582デフォルトの名無しさん2006/09/04(月) 19:57:52
C++のホットなネタは?
0583デフォルトの名無しさん2006/09/04(月) 22:39:58
>>582 特に無い。
0584デフォルトの名無しさん2006/10/14(土) 01:28:04
stdioとcstdioの違いを教えてください
0585デフォルトの名無しさん2006/10/14(土) 02:03:51
>>584
cstdio がライブラリを std 名前空間内に宣言。
stdio.h は、↑に加えてグローバル名前空間にも宣言。

っていう建前だけど、実際は

stdio.h がライブラリをグローバル名前空間内に宣言。
cstdio は、↑に加えて std 名前空間にも宣言。

とかいう実装もよくある。
0586・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 2006/10/14(土) 02:06:04
std 名前空間
0587・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 2006/10/14(土) 02:07:15
まあ、プリプロセッサマクロに名前空間は適用できないしな
0588デフォルトの名無しさん2006/10/14(土) 03:16:03
たまに見かけるstudio.hもよくわからん
0589デフォルトの名無しさん2006/10/14(土) 05:48:10
ワロタ
0590デフォルトの名無しさん2006/10/14(土) 10:10:24
あやまれ!スタジオ派にあやまれ!
0591デフォルトの名無しさん2006/10/26(木) 16:03:30
Cωってどうなっちゃったの?
0592デフォルトの名無しさん 2006/10/28(土) 01:49:55
class ClassA{
public:
ClassA(){・・・・;}
ClassA(ClassB a){・・・・;}

friend ClassA operator●(const ClassA& x, const ClassA& y){・・・・;}
}

class ClassB{
public:
operator ClassA(){return ・・・・;}
}

で引数x,yにClassB型の値が代入された場合、x,yはClassAのコンストラクタによってClassA型に
変換されるのでしょうか? それともClassBの変換関数によってClassA型に変換されるのでしょうか?
0593デフォルトの名無しさん2006/10/28(土) 02:40:02
>>592
規格上はどうなってんのか知らんが、とりあえずコンパイラによっては
「どっち使ってええのかわからん」とエラーを出すのは確か。
0594デフォルトの名無しさん2006/12/15(金) 19:46:02
xmlを処理できるライブラリを教えてください
0595デフォルトの名無しさん2006/12/15(金) 19:54:48
上級者の質問ではないだろ。
とりあえずXercesとかMSXMLとか。詳しくは知らない。
0596デフォルトの名無しさん2006/12/15(金) 20:02:37
動的な次元の配列のライブラリってないもんか
0597デフォルトの名無しさん2006/12/15(金) 20:04:21
>>596
boost::multi_array
0598デフォルトの名無しさん2006/12/15(金) 20:14:18
それは静的だ。
動的次元配列は自分で作るしかないんじゃね?
0599デフォルトの名無しさん2006/12/20(水) 16:57:05
gccとFedora core5でプログラムを作成しています。
ofstreamでflush()を使っても、実行されたタイミングでファイルが更新されません。
一定以上になるまで、システムのバッファ内に溜め込まれているようなのですが、
flush()実行時に確実にファイルに書き込ませるにはどうしたらよいでしょうか?
0600・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 2006/12/20(水) 22:51:39
「STLによるコンポーネントデザイン」にvectorを使った2次元・3次元配列クラスの作り方書いてあった


それとも次元が動的に増減するの?
そりゃちょっとお手上げ
0601・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 2006/12/20(水) 23:01:22
>>599
flushでフラッシュされないのって、C++標準の方法ではどうしようもないような。

クローズしてみるとか(かなりいい加減)
あと、内部的にメモリマッピングしてるような気もする。
0602デフォルトの名無しさん2006/12/22(金) 22:57:20
断片化なしの動的二次元配列の一種。

http://capslockabcjp.kitunebi.com/boolean.html
ブール閉包(boolean closure)のサイズとインデクスの計算
1次元配列にみっしりと二次元の表を納めつつ、
伸縮させても穴が空かない構造の作り方。
0603デフォルトの名無しさん2006/12/22(金) 23:13:02
>>599
気のせいだと思いますよ。
0604デフォルトの名無しさん2006/12/22(金) 23:22:16
>>599

ランタイムライブラリとは無関係にOSとドライバの側で制御しているから
OS独自の機能を使わないとどうしようもない。

http://www.linux.or.jp/JM/html/LDP_man-pages/man8/sync.8.html
0605デフォルトの名無しさん2006/12/23(土) 08:46:49
特殊なストレージデバイスを使ってない限り、
カーネルのin-coreイメージと外部デバイスの不一致は観測不能なんだが。
0606デフォルトの名無しさん2007/01/06(土) 02:30:56
真贋について
http://www.kh.rim.or.jp/~nagamura/misc/stroustrup-interview.html
0607デフォルトの名無しさん2007/01/06(土) 02:39:51
それは遥か昔にストラウストラップと袂を分かった、
彼の頭頂の毛が喋ってるんだよ。
0608デフォルトの名無しさん2007/01/08(月) 12:26:22
【ネガティブ派遣根性チェック】

3つ以上、思い当たる点があればアナタの性格はひん曲がっており、ネガティブ負け組人生を歩んでいます。

□偽装派遣先の社員の意見にはたとえ間違っていても反対しない
□偽装派遣先から「いつまでもここで仕事してくださいね」と言われるようになりたい
□自社に仕事を持ち帰れるように言われるとムカつく
□自社で仕事なんてできるわけがない
□派遣/受託の差異を指摘する人間はムカつく
□偽装派遣先には仕事だけでなく自分のプライベートについても指示して欲しい
□自分の月額金額を知らない
□偽装派遣先社員より自分の生涯収入が低いのは当然だ
□偽装派遣先に尻尾を振り、いつまでも一緒に仕事をすることが大切だ
□今のプロジェクトが終わっても同じ偽装派遣先に常駐したい
0609デフォルトの名無しさん2007/01/08(月) 18:36:21
構造化して細かく関数毎に分けた方が、構造化されていないプログラムより最適化されやすいですか?
それとも関数の呼び出しのオーバーヘッド分だけ遅くなりますか?
0610デフォルトの名無しさん2007/01/08(月) 22:59:00
>>609
最適化については、コンパイラ (とコンパイル時のオプション)
に依存するのでなんともいえない。

関数の呼び出しのオーバーヘッドは確実に存在する。

ただ通常それが問題になることはあまり無い。







て言うか、プログラム書くときはわかりやすく書け。

関数呼び出しのオーバーヘッドなんか気にするのは最終手段だ。
0611デフォルトの名無しさん2007/01/09(火) 01:58:49
「最適化する必要を感じるまで最適化するな」
0612・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 2007/01/09(火) 02:05:56
常に__forceinline
0613デフォルトの名無しさん2007/01/09(火) 05:15:49
>>609
最近のコンパイラは小さい関数が数百個つらなっても
平気でinline化しやがるので無問題
0614デフォルトの名無しさん2007/01/11(木) 23:18:23
http://en.wikipedia.org/wiki/C%2B%2B0x
こんなに様々な提案があったとは思っていなかった。
0615デフォルトの名無しさん2007/01/12(金) 10:27:53
class A{
    const double x;
    A() : x(10){}
}
と
class A{
    static const double x=10;
}
の使い分けについて教えてください
0616デフォルトの名無しさん2007/01/12(金) 11:03:20
>>615
前者はインスタンス毎に暮らす変数が作られるのでメモリが余計に
必要だが、コンストラクタ次第ではインスタンス生成時に x の値を
自由に設定できる。

後者はメモリは一つしか使わないので省メモリ型だが、コンパイル時
に値が決定するのでコンストラクタによって値を変える事はできない。
0617デフォルトの名無しさん2007/01/13(土) 02:13:25
>>615
後者はコンパイルできない。
0618デフォルトの名無しさん2007/01/13(土) 10:31:38
class A{
    static const double x;
};

const double A::x = 10;
0619デフォルトの名無しさん2007/01/16(火) 16:22:35
上級者の方にお聞きしたい問題があります。
--------------
【問題】
「計算式対応電卓」
・計算式を文字列として入力すると、その計算を行い、結果を出力するプログラムを
作成せよ。
-入力文字列を解析し、数値と演算子に分けて計算する。
-例:計算する式を入力してください。終了:end
   使用可能演算子:四則演算(+-*/)
1+2
   答えは3です。
・必ず四則演算のほかに、使用可能な演算子を追加せよ。
 入力する際の演算子記号は任意にきめてよい。
-例:あまりを求める %
   二乗を求める
・繰り返し何度も計算できるようにする。
 その際、終了する場合の入力文字列を示せ。

--------------
初心者ということもあり、わかりません。
ソースファイルとして書き込んでいただきたいです。。
0620デフォルトの名無しさん2007/01/16(火) 16:50:27
C/C++の宿題を片付けます 81代目
http://pc10.2ch.net/test/read.cgi/tech/1168663908/l50
0621デフォルトの名無しさん2007/01/16(火) 16:56:09
>>619
http://ftp.gnu.org/gnu/bc/
0622デフォルトの名無しさん2007/01/16(火) 21:11:54
>619
http://spirit.sourceforge.net/
0623デフォルトの名無しさん2007/01/16(火) 23:34:23
>>619
講義聴いてればちゃんとできるからまた来年やれ
0624デフォルトの名無しさん2007/01/17(水) 00:33:04
若いの オラが村では派遣の問題を口にしちゃなんねーだ
お前さんはまだわけぇから言いたいこともあるべぇ
だべな、派遣問題を口にするとムキになって怒る者がおるでよぉ
問題の指摘は駄目だっぺぇ
派遣のことは口にしちゃなんねぇ
この村みたいな糞田舎で悲惨な生活するためにはよぉ
北朝鮮と一緒でよ、駄目のものを駄目と言ってはなんねえだべさ
タブーを口にしちゃいけねぇだ オラ達みたいな田舎者の鉄則だっぺ
0625デフォルトの名無しさん2007/01/17(水) 09:41:28
>>619
逆ポーランド使ったらだめ?
0626デフォルトの名無しさん2007/01/17(水) 11:34:32
>>617-618
まともなコンパイラを使ってください。
0627ららら2007/01/17(水) 19:26:03
class Hoge を Hoge.h で宣言して Hoge.cpp で定義している。
Hoge の実装では Foo クラスを使うのだが、
Foo を使っているということを Hoge.h 側では見せたくない。
今は

class Hoge {
public:
    Func1(void);
private:
    Func2(Foo* foo);
};

こうなっているのだが、Foo をヘッダーに見せたくない。
Foo を使うコードが Func1 内で完結すれば、見せなくて済むのだけど、
何分 Func1 の処理が長いので、どうしても関数を分割したい。
さて、よい案はないだろうか。。。。

ヘッダー上では Foo* じゃなくて void* にキャストして、
Func2 の実装で void* を Foo* にキャストする、
という方法はあるのだが。汚い。
0628デフォルトの名無しさん2007/01/17(水) 19:44:28
pimpl
0629デフォルトの名無しさん2007/01/17(水) 19:54:08
Fooのポインタだけならclass Foo;とだけ書いておけばおk。
0630デフォルトの名無しさん2007/01/18(木) 02:48:20
上級者の皆様、Haskellで使えるalgebraic data typeをC++で表現するにはどうすればいいでしょうか?教えてください。
0631デフォルトの名無しさん2007/01/20(土) 10:35:44
>>615で
class A{ 
    static const int x=10; 
}
は許されるのに
class A{ 
    static const double x=10; 
} 
は禁止されているのは何故なのでしょうか?
0632デフォルトの名無しさん2007/01/20(土) 12:41:07
配列の要素数など整数定数への需要は大きいから、それだけ特別扱いされた。
0633デフォルトの名無しさん2007/01/20(土) 14:29:28
class A{ 
    static const double x; 
}; 

const double A::x = 10; 

これでできるのなら、

class A{  
    static const double x=10;  
}  

の様な書き方も許可して良さそうな気がするのですが・・・
0634・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 2007/01/20(土) 14:59:27
class A{  
    static const double x() const { return double(10); }
}  

で代用できるから特に困らない
0635デフォルトの名無しさん2007/01/20(土) 15:00:59
C++のクラスの静的メンバ変数は(constの有無に関わらず)、
Cのヘッダに宣言しどこか1箇所ソースで定義する流儀を受け継いでいると考えればそう不自然でない。
納得がいくかどうかはともかく。

そんなにクラス内に書きたければ、静的メンバ関数ならインラインに書けることを使う手もなくはない。
0636デフォルトの名無しさん2007/01/20(土) 15:13:30
C++ らしいよなぁ。
template もそうなんだけど、なんつーか、
もう少し素直にやりたいことを直感的に書けないものかw
0637・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 2007/01/20(土) 15:22:46
Borlandコンパイラならプロパティ(独自拡張)があるね
0638デフォルトの名無しさん2007/01/20(土) 17:09:58
そういやtemplateなら>>618のようなのを全部ヘッダーに書いてもいいんだっけ?
0639デフォルトの名無しさん2007/01/20(土) 19:41:48
>>637
Visual C++も独自拡張でプロパティを持っている。COMラッピングに使っている。

>>638
テンプレートでも定義が必要。ただしヘッダに書ける。
template<typename T>
class A{  
    static const double x;
}

template<typename T>
const double A::x = 10;
たしかこんな感じ。
0640・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 2007/01/20(土) 19:41:55
駄目だから定数を返す関数にする。どうせインライン展開されるし
0641デフォルトの名無しさん2007/01/21(日) 17:14:28
>631,633
あれ?出来ないんだっけ?
gcc3.4.2なら出来たけど。
てか、最近のコンパイラなら出来るはずだと思って
フリーで配ってるソースで使いまくっちゃったけど。。。
0642・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 2007/01/21(日) 17:19:40
厳密にはできなくはない

__declspecキーワード使うことになるが
0643デフォルトの名無しさん2007/01/21(日) 18:32:35
規格では整数型のみだけだっけ?
0644ららら2007/01/21(日) 18:58:00

class Foo;

class Hoge {
public:
    Func1(Foo::FooType type);
};

class Foo {
public:
    enum FooType {
        TYPE_1, TYPE2, TYPE3
    }
};

こんなコードが、コンパイルエラーになるのですが、
Foo を先に宣言せずに、Hpge で Foo::FooType を使うことって可能ですか?
0645デフォルトの名無しさん2007/01/21(日) 18:59:42
それは無理だな
0646デフォルトの名無しさん2007/01/21(日) 19:01:37
無理だよ
0647デフォルトの名無しさん2007/01/21(日) 19:35:38
>>644
>Foo を先に宣言
Foo を先に定義、の間違いだな

そんな細かい指摘はともかく、この要求は比較的需要があると思うけれど、
(少なくとも自分はこういうことをしたいときが結構ある)
みんなどう思ってるんだろ
0648デフォルトの名無しさん2007/01/21(日) 20:04:33
>>647
こういうのがあるから、ネストされた public 型定義は避けたほうがいい。
0649デフォルトの名無しさん2007/01/22(月) 09:53:27
どうしてもって場合は苦肉の策だけど、Hoge側をクラステンプレートにして
しまうのもありかも( Foo をテンプレート引数にする )。
0650デフォルトの名無しさん2007/01/27(土) 23:55:49
魔法少女ポリモル
http://pc10.2ch.net/test/read.cgi/prog/1169812216/
0651デフォルトの名無しさん2007/02/02(金) 20:43:47
vc2005EEを使っているのですが、質問があります。

デバッグモードではCPU使用率が20〜35%に押さえられているのですが、
リリースモードにすると使用率が常時100%に跳ね上がってしまいます。

これの原因分かる方いませんか?
もしくは原因究明の方法が分かる方いませんか?
(プロファイラは使えません^^)

どうかよろしくお願いします。
0652デフォルトの名無しさん2007/02/02(金) 21:37:54
>>651
マルチはラウンコにでも逝ってろ。
0653デフォルトの名無しさん2007/02/02(金) 22:20:52
>>652
http://pc10.2ch.net/test/read.cgi/tech/1164951094

一度、↑のスレの989で聞いたのですが、
スレ違いといわれてしまったので、もう一度質問させてもらっています。
0654デフォルトの名無しさん2007/02/02(金) 22:50:15
>>653
あってるかどうかの自信はないが原因やその調査方法や対策等々を多少予想がつかんでもないが、
プロファイラを使えば一発で解決する問題なのに、あえてプロファイラは使えませんと逃げるような
教えて君がくるようなスレではありません、ここは。どっか逝け。

つーかせめてどんなプログラムかぐらい書け。あと、テキトーにプログラムをコメントアウトして
現象が変わったらその部分あるいはその部分に関連したところになんかある。ロクに情報も提供
しない教えて君はたまにはそーゆー地道なデバッグでもやってなさい。
0655デフォルトの名無しさん2007/02/02(金) 22:51:41
サクセスに振り込んだお金が返ってこない

まで読んだ
0656デフォルトの名無しさん2007/02/02(金) 23:01:07
「まで読んだ」ネタは
それを書くより早く読めるレスについてるとなんか痛い
0657デフォルトの名無しさん2007/02/02(金) 23:08:58
ごめんね母ちゃんはじめて「まで読んだ」したから
0658デフォルトの名無しさん2007/02/03(土) 00:36:04
>>654
別に逃げているわけでは無く、
もともとVC8EEにはプロファイラがついていないのです。
これを使えば解決することは分かっていたので、あらかじめ注釈させていただきました。

情報が足りなかったことは誤ります。
作っているのは所謂ノベルゲームです。
>>654にあるようにプログラムを適当にコメントアウトしていったところ、
サウンドを再生する専用のスレッドがネックになっていることが分かりました。
ここでのSleep間隔を0からそれより大きくした結果(現在は5)、
CPU使用率が20%にまで下がりました^^

ちょっと納得できない部分もあるのですが、とりあえず上手く動くようになりました。
どうもありがとうございます^^
0659デフォルトの名無しさん2007/02/03(土) 00:40:25
> もともとVC8EEにはプロファイラがついていないのです。
もろ逃げじゃんw
VC8EEプリインストールモデルなんて聞いたことないしなぁw

学校のPCだけでやってるんだったらもちスレタイ嫁。
0660デフォルトの名無しさん2007/02/04(日) 14:18:40
>>658
OS上CPU使用率が100%と表示されていても
本当にCPUの演算ユニットを100%ぶんまわしてるわけじゃないから、
Sleepは0でも良い。1あれば十分。5は多すぎ。
0661デフォルトの名無しさん2007/02/05(月) 02:24:45
>>659
ごめん。
意味が分からない。

>>660
windowsのスレッドシステム(自分は2000使ってます)をよく知らないのですが、
メインの方の処理が軽くなると、
コンテキストスイッチが頻発してCPU使用率が異常に上がるのかなぁ。
実行速度は軽くなっているのに、使用率が上がるということは
無駄な処理がすごく増えたってことですよね。。。

あと、5msのSleepは確かに長すぎるかもしれません。
メインスレッドの方がつまってくると、
音飛ぶ可能性ありますね。
このあたりはもうちょっと調整してみます。
0662デフォルトの名無しさん2007/02/05(月) 02:31:09
>>661
Waitのない無限ループを持つスレッドがひとつでもあればCPU使用率は100%になる。
そんな当たり前なことも理解できてないようなヤツがいていいスレじゃない。どっか逝け。
0663デフォルトの名無しさん2007/02/05(月) 15:12:33
>>662
非HTでシングルコアの場合だけな。
0664デフォルトの名無しさん2007/02/06(火) 01:23:31
>>662
Wait = Sleep(0) という解釈でいいなら、ちゃんと入ってましたよ。

問題は
1, メインスレッド・サウンドスレッドともにちゃんとSleepが入っていた
  (メインの方はFPS固定の可変Wait, サウンドの方は常に0)
2, 単純な実行速度はデバッグモード時よりもリリースモード時の方が速かった
3, メインスレッドのWait値もリリースモードの方が大きかった
にも関わらず、デバッグモードではCPU使用率が30〜40%、
リリースモード時は常に100%になっていた点です。

リリースモードではサウンドスレッドが相当無駄なことをしているのは理解できるのですが、
それならデバッグモードではなんで100%にならないのかなと。。。

>>663
そうですね^^
0665デフォルトの名無しさん2007/02/06(火) 01:46:39
>>663
デュアル/マルチプロセサは無視か?

>>664
> Wait = Sleep(0) という解釈でいいなら、

よくないだろ。

それは、ともかくコードの断片も示せないなら、エスパー希望の広告を
新聞に載せた方が早いので、ここから立ち去ってくれ。
0666デフォルトの名無しさん2007/02/06(火) 02:15:36
>>664
C++の話題じゃないから、662を読んで分からないなら Windows 板へ池
0667デフォルトの名無しさん2007/02/06(火) 06:56:43
>>664
処理速度の速いほうがCPU使用率も高くなんのはあたりまえだろ、どっか逝け。
0668デフォルトの名無しさん2007/02/06(火) 08:20:29
俺も大体そう思うな

プロファイラがあってもデバッグ版のCPU使用率が低い理由はわからないと思う。
これに関しては私には判りません。
デバッグモードでは何か特殊な待ちがあるんだろか。

たとえばwaveOutWriteなら複数のバッファを渡せるので
音飛ぶ可能性は著しく低く、
バッファが終わるころにメッセージ通知が来るから
それまで何もしないのでCPU使用率を著しく下げることも出来るはず。

ノベルゲームの経験ないから推測だが
ノベルゲームで絶えず処理している状況が存在する理由がわからない。
0669デフォルトの名無しさん2007/02/06(火) 11:21:53
デバッグ版ではシステムコールの呼び出しが
増えてたりするからじゃないのん?
0670デフォルトの名無しさん2007/02/06(火) 22:06:52
c++のリファクタリングツールは
VisualStudioなら
ref++
Refactor! Pro

emacsで使えるツールはないの?
0671デフォルトの名無しさん2007/02/06(火) 22:11:02
http://www.wholetomato.com/forum/topic.asp?TOPIC_ID=3990

リファクタリングツールいろいろ
0672デフォルトの名無しさん2007/02/06(火) 22:27:03
http://xref-tech.com/xrefactory/main.html
emacsリファクタリングツールみつけた
試したいけどemacsでc++コンパイルする環境整えるの大変だ
0673デフォルトの名無しさん2007/02/07(水) 23:49:30
すみません。これで最後にします。

>>668
サウンドライブラリとして、OpenALを使っているので、
空きバッファがあるかどうか
常に監視する必要があるのです。

確かにwaveOutならその必要はありませんね。

>>669
システムコールかもしれません。


一応テストとして、
・適当な処理+Sleep(0)を繰り返すスレッド
・適当な処理+Sleep(10)を繰り返すスレッド
の二つを作って実行させたのですが
デバッグモード、リリースモードの両方でCPU使用率は100%でした。
(当然か。。。)

件のアプリでは、さらに多くのスレッドといろいろな処理が付加されているので、
どこかになにがしかの待ちが入っているんだと思います。
(共有リソース待ちや、IO待ち?)
感覚としては、スレッド間のリソース待ちが原因では無いかと思いました。
(調べてみるとミキシングスレッドとサウンドデータ供給スレッドが別でした^^)
ちょっとこれ以上は分から無いのですが、
他にやることもあるのでこの件はこれで終わりにしたいと思います。

それでは、スレ汚し失礼しました。
0674デフォルトの名無しさん2007/02/10(土) 12:20:00
実行中にブレーク掛けてみて、どの処理が走ってるかみてみたら。
何回かやれば時間食ってる部分が解るだろ。
0675デフォルトの名無しさん2007/02/15(木) 00:33:53
>>674
遅れてすみません。
ブレーク掛けてみたのですが、
意味の分からない結果になりました。
なんか、OpenALのバグのような気がします。。。

原因が分かったら報告します。
0676デフォルトの名無しさん2007/02/15(木) 09:20:44
ここは上級者が集まるスレです。上級者に質問するスレではありません。
0677デフォルトの名無しさん2007/02/16(金) 12:34:00
集まって何すんの?
0678デフォルトの名無しさん2007/02/16(金) 12:34:37
書き込んだり、書き込みを読んだりするに決まってるじゃん。
0679デフォルトの名無しさん2007/02/16(金) 13:18:05
書き込んだり、書き込みを読んだりして何すんの?
0680デフォルトの名無しさん2007/02/16(金) 14:53:13
できることとか、やりたいこと。
0681デフォルトの名無しさん2007/03/02(金) 19:46:02
夏時間まで考慮して、タイムゾーンを取得する方法を教えてください。
0682デフォルトの名無しさん2007/03/27(火) 02:43:43
boolは何故1バイトも消費するのですか?
0683デフォルトの名無しさん2007/03/27(火) 05:01:28
>>682
1バイトとは限らんぞ。処理系依存だ。
VCではint型にダウンキャストされるんじゃなかったっけ?
#かなり昔に仕様書らしきもので読んだ気が。

仮に>>682が使用している環境でboolが1バイト使うとして話を進める。
>>682は1ビットで十分だっていいたいんだろうけど、
メモリの最小管理単位が1バイトだから、最低でも1バイト使わないとだめ。
C言語で言うビットフィールドを使って、ビット単位で管理するのもありだけど
(そうすれば、1バイトで8個のboolを管理できるよな)、それだと管理のための
メモリが必要になるし、速度面で効率的じゃなくなる。

だから、bool型は1ビットじゃないんだ。
もっとも、処理系によってはビット単位で管理してるのもあるかもしれんが。
0684・∀・)っ-○◎●2007/03/27(火) 05:05:29
ダウンキャストっていうのかそれ
VC++の最近の実装(っていうかただのtypedef)ではBOOL=charだったような
0685デフォルトの名無しさん2007/03/27(火) 05:06:51
>>683
今VC++でsizeof(bool)の値を見たら1だった。

俺はbool型変数はクラスメンバぐらいでしか使わないから、
たとえ1ビットだとしてもアラインメントの影響で恩恵にあずかれないな。
0686・∀・)っ-○◎●2007/03/27(火) 05:18:54
vector<bool>とか使うと恩恵があるかも
0687デフォルトの名無しさん2007/03/27(火) 06:31:31
boolをvectorなんかに入れて一体何に使えというんだ
0688・∀・)っ-○◎●2007/03/27(火) 06:34:33
何だ知らないのか

http://www.scl.kyoto-u.ac.jp/scl/appli/appli_manual/SUNWspro/WS6U2/ja/manuals/stdlib/user_guide/general/5_3.htm
0689デフォルトの名無しさん2007/03/27(火) 06:50:59
>>688
そういえばそんなもんもあったな。
0690デフォルトの名無しさん2007/03/27(火) 07:13:24
>684のすべてが意味不明
0691デフォルトの名無しさん2007/03/27(火) 22:04:00
>>683
速度・効率だけでなく、ビット単位ではポインタとしてメモリアドレスが使えない。

ワードマシンでのchar*みたいにコンパイラが頑張る手もあるが、
bool*だけでなく必然的にvoid*もbool*に合わせなければならず、
void*とbool*だけ他のポインタと異なる大きさになってしまう。
無論規格上は問題ないが、実際問題void*の大きさがほかと異なるなんてやっていられないだろ。
0692デフォルトの名無しさん2007/03/27(火) 23:05:56
関数へのポインタとデータへのポインタの大きさが違うなんて
昔は当たり前だったから、なんてことない。
0693デフォルトの名無しさん2007/03/27(火) 23:14:25
>691
boolを1bitにするなら、sizeof(bool)をどうする気?
0694デフォルトの名無しさん2007/03/27(火) 23:18:46
>>693
1/8

usodakara
0695デフォルトの名無しさん2007/03/27(火) 23:21:03
>>693
それ忘れていたorz

>>684
Windows APIでは、typedef int BOOL; typedef char BOOLEAN;
しかしboolとは関係ない。
0696デフォルトの名無しさん2007/03/27(火) 23:33:40
> typedef int BOOL; typedef char BOOLEAN;

わけわからん >>MS

ATL::CComPtr::operator&()もわけわからんかった。
凶悪。
0697・∀・)っ-○◎●2007/03/28(水) 01:08:39
>>695
そこは固定じゃない。
なんのtypedefかはSDKのバージョンによってもしょっちゅう変わる。

まあ固定長ビット配列ならstd::bitsetなんかが一番効率いいかな。
1ワードの中に複数要素が詰め込めると何かと便利。
0698デフォルトの名無しさん2007/03/28(水) 01:20:35
http://msdn2.microsoft.com/en-us/library/aa383751.aspx
実際にヘッダでどうなっているかはともかく、文書化されていることは当てにしていいと思う。

ところでBOOLEANはBYTEだったね、すまん。
0699デフォルトの名無しさん2007/03/28(水) 02:12:43
>>691
void* と char* は同じ内部表現である必要がある。 (ISO C++ 3.9.2.4)
そのほかメモリモデルやオブジェクトモデルの定義からも char より
小さい型は存在し得ないと言える。
0700デフォルトの名無しさん2007/03/28(水) 02:12:52
BOOL
Boolean variable (should be TRUE or FALSE).

shouldって便利な言葉だな
0701・∀・)っ-○◎●2007/03/28(水) 02:30:37
>>698
msdn2〜はVS2005のドキュメント
0702デフォルトの名無しさん2007/03/28(水) 02:38:09
>>701
団子ちゃん、流れとは全然関係ない質問があるんじゃが、
団子ちゃんがC++上級者だと家庭して、団子ちゃんは Boost を
1. あー、ごっつい靴だろ?
2. たまに使う。
3. よく使う。
4. もうあなたなしじゃ生きられないの!
5. あー、アレのほげほげは俺がコントリビュートしてんだよ。
の、どれ?
07037022007/03/28(水) 02:39:35
ちなみに俺は、1 だが、それでも自分を C++ 上級者だと思ってる。
0704・∀・)っ-○◎●2007/03/28(水) 02:44:25
2かな
ふだんはATL/WTL+STLあと.NET

regexとrandom::mt19937rは便利だね
あとsandboxにあがってたfixed_arrayが便利だから改造して使ってる
0705デフォルトの名無しさん2007/03/28(水) 03:06:41
.NEET 使ってんだ。
0706デフォルトの名無しさん2007/03/28(水) 07:26:32
>697
おいおい。BOOLの実体がint以外だったことがあるってーの?
WIN16の頃の話じゃねーだろーな。
0707デフォルトの名無しさん2007/03/28(水) 09:17:07
>>701
msdn.microsoft.comの時代から698の文書は存在した。
今は英語版のMSDNライブラリオンラインはあちこちmsdn2への転送になっている。
0708デフォルトの名無しさん2007/03/28(水) 15:45:05
bool型はC++仕様書ではintと同じバイト数。
でも大手の実装するコンパイラは大抵1バイトしか割り当てないのが普通。
さて、酒飲んで寝るか。もう目が覚めませんように。
0709デフォルトの名無しさん2007/03/28(水) 16:11:38
>>708
そんな規定はどこにも無い。
0710デフォルトの名無しさん2007/03/28(水) 16:50:25
>>708
嘘吐きはそのまま永眠してなさい。
0711デフォルトの名無しさん2007/03/28(水) 18:29:02
1に書いてある内容とまるで裏腹なスレの内容
なんて皮肉だ
0712デフォルトの名無しさん2007/03/28(水) 23:37:58
> 我こそはC++プロフェッショナルだという方の書き込みをお待ちしております。

こんなこと書くから、自分でプロだと「思い込んでる奴」ばっかりになるんだよ。
0713デフォルトの名無しさん2007/03/28(水) 23:42:49
>>711-712
ここはネタスレなのにお前らときたら…
0714デフォルトの名無しさん2007/03/29(木) 16:37:54
>>711-712のような人たちのためのホイホイスレでもあるからいいじゃないか。
0715デフォルトの名無しさん2007/03/29(木) 18:52:05
>>711-712は本気で自分がC++上級者だと思って
このスレに降臨なされたのですか
0716デフォルトの名無しさん2007/03/30(金) 11:42:32
スレタイに騙されて覗いてみたら期待してたのと違ったんで
怒りに任せて書き込んでみたんでしょう。

スレ勃てから2年半もたってノコノコやってきて今更な事を書く人ってのは
そういうもんです。
0717デフォルトの名無しさん2007/03/30(金) 14:17:33
>>714-716
ここはネタスレなのにお前らときたら…
0718デフォルトの名無しさん2007/03/30(金) 14:26:29
もうちょっとためてから反復しないとネタとして面白くないです。
0719デフォルトの名無しさん2007/03/30(金) 21:56:50
団子ちゃん以外の人は >>702 で言うと何番?
0720デフォルトの名無しさん2007/03/30(金) 22:02:40
特定の部分なら3だが全般的には2だな
0721・∀・)っ-○◎●2007/03/31(土) 00:22:23
全部使ってる奴がいたらそれはそれで気持ち悪いぞ

MPLとかSpiritとか、いいかげんにしる
0722デフォルトの名無しさん2007/03/31(土) 06:16:03
俺4。上級者じゃないけど。MPLとかは流石に可読性的に使えないがな。
0723デフォルトの名無しさん2007/03/31(土) 17:01:03
MPLとPreprocessorとSpiritとPhoenixとXpressiveと
LambdaとuBLASとgraphとfilesystemを全部使うアプリを
testでテストするやつこそが4だな。
0724デフォルトの名無しさん2007/03/31(土) 22:33:03
どういう処理をしようとして全部必要になるんだろうか……
0725デフォルトの名無しさん2007/04/04(水) 13:19:51
環境非依存で、ミリ秒単位でsleepさせる方法はありませんか?
0726デフォルトの名無しさん2007/04/04(水) 14:16:24
>>726
ない。

特定のCPU等に依存していいならなんらかの方法があるだろうが、
どのみちほとんどマシン語のコードになる。
0727デフォルトの名無しさん2007/04/04(水) 14:49:56
>>727
ですよね。
0728デフォルトの名無しさん2007/04/04(水) 19:01:43
>>727
大丈夫か
0729デフォルトの名無しさん2007/04/04(水) 20:00:16
>>729
注:私の有意義な発言に対し自分の理解不足を棚に上げ煽り、1行レス
で返す方が多いようですが、そのような方はスレの皆様を混乱させるだけでなく
スレの雰囲気を崩しかねないのでお黙り下さい
また質問者は回答者に知識を披露する場を与える貴重な存在なので、
質問者を見下した回答、あまりにも儀礼を欠いた回答も厳重に禁止いたします。
忙しい中、少ない時間の合間を縫って質問しに来てるわけですので、
その辺ご承知下さい。なお、当方が質問に対して有意義な答えであると
判断した方には評価いたしますので各自よく調べ、よく考え正確な回答をするように。
0730デフォルトの名無しさん2007/04/04(水) 23:31:15
まずい餌だな。3点
0731デフォルトの名無しさん2007/04/07(土) 08:44:22
>>731
死ねよクズが
0732デフォルトの名無しさん2007/04/07(土) 16:54:40
>>733
死ねカス
0733デフォルトの名無しさん2007/04/07(土) 16:55:12
>>732
お前が死ねカス
0734デフォルトの名無しさん2007/04/07(土) 17:02:47
729 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
0735デフォルトの名無しさん2007/04/07(土) 18:59:56
>>731-733
ありきたりのパターン。2点
0736デフォルトの名無しさん2007/04/07(土) 22:37:50
かといってこんなことに新鮮味を追求されるのもアレだな
0737デフォルトの名無しさん2007/04/10(火) 18:46:19
絶対値を求める関数が他の言語では一つしかないのにCではabsとfabsの二つが存在する理由を教えてください。
0738デフォルトの名無しさん2007/04/10(火) 19:16:00
その質問をこのスレでする理由を教えてください。
0739デフォルトの名無しさん2007/04/10(火) 22:43:33
>>737
> 絶対値を求める関数が他の言語では一つしかない

Fortran なんか4個もあるぞ。(w

iabs(整数) => 整数
abs(実数) => 実数
dabs(倍精度) => 倍精度,
cabs(複素数) => 実数
0740デフォルトの名無しさん2007/04/10(火) 22:56:30
CだってC89の時点でabs(int), labs(long), fabs(double)と3個。
後(C95か?)にfabsf(float), fabsl(long double)が加わり5個。
C99ではllabs(long long), imaxabs(intmax_t),
cabs(double complex), cabsf(float complex), cabsl(long double complex)と10個。

勿論C++では、(C++にある型なら)absで多重定義がなされている。
0741デフォルトの名無しさん2007/04/11(水) 00:27:51
ここまでの話を総合すると、rubyが一番スマートだな。
0742デフォルトの名無しさん2007/04/11(水) 21:36:45
>>741
というと ruby は絶対値をマイナス値で返す nabs 一個のみとかそんな感じ?
0743デフォルトの名無しさん2007/04/11(水) 23:27:22
オーバーロードしてるから見た目上一個やん
0744デフォルトの名無しさん2007/04/12(木) 04:39:04
>>743
マイナスの最大値でオーバーフローするものしかないってこと?

# 戻り値が unsigned なら大丈夫だけど。
0745デフォルトの名無しさん2007/04/12(木) 11:07:54
>>737
実行速度を上げるため
0746デフォルトの名無しさん2007/04/12(木) 22:35:50
>>744-745
釣りですか、ご苦労様です。
0747デフォルトの名無しさん2007/04/12(木) 22:59:30
直観が「突っ込み所だ」と告げたはいいが、スレタイがスレタイだけに
具体的に突っ込んでボロ出す羽目になったらどうしようってのがちょっぴり不安で、
結果こんな感じに落ち着きました、という感じのレスだな。
0748デフォルトの名無しさん2007/04/13(金) 23:38:12
>>747
>>747
0749デフォルトの名無しさん2007/04/14(土) 02:31:47
たとえば負数が1の補数な処理系では、
INT_MINを放り込んでも、オーバーフローしないよ。
0750デフォルトの名無しさん2007/04/14(土) 04:29:20
そうだね。帰っていいよ。
0751デフォルトの名無しさん2007/04/14(土) 09:06:05
馬鹿じゃないの?
0752デフォルトの名無しさん2007/04/14(土) 09:08:20
泣くなよ
0753デフォルトの名無しさん2007/04/22(日) 08:47:09
>>688
1998年w
0754デフォルトの名無しさん2007/05/18(金) 18:12:10
float x=10.0;
で
exp(x)
とすると、expはfloat型に対応した関数が呼び出されますが、
exp(10.0)
とした場合、double型に対応した関数が呼び出されると考えてよいのでしょうか?
0755デフォルトの名無しさん2007/05/18(金) 20:30:24
ワラタ
0756デフォルトの名無しさん2007/05/18(金) 21:39:41
>>754
そうだよ
ちなみにexp(10.0f)とすればfloat版を選べる
0757デフォルトの名無しさん2007/05/21(月) 02:39:50
まさかとは思ったが

ここも隔離スレだったか
0758デフォルトの名無しさん2007/05/21(月) 02:45:16
>>757
全然そんなことないから、ここから出て行かないでね♪
0759デフォルトの名無しさん2007/05/25(金) 03:24:06
>>21
いまさらながら
const string 上級者="俺";
のが上級者っぽいな。
0760デフォルトの名無しさん2007/07/01(日) 15:07:07
class 上級者;
typedef 俺 上級者;
0761デフォルトの名無しさん2007/07/01(日) 16:31:11
>>760
#define 上級者 ナルシスト
をお忘れですよ。
0762デフォルトの名無しさん2007/07/05(木) 17:48:21
大抵のコンパイラでC99はスイッチをつけないとコンパイルできないのは何故?
0763デフォルトの名無しさん2007/07/05(木) 18:45:42
C++のコンパイラ?
C99がC++に取り込まれるのはC++0x(たぶん09)からだよ。
0764デフォルトの名無しさん2007/07/05(木) 20:03:32
C++かアセンブリ言語どっちが難しいですか?
0765デフォルトの名無しさん2007/07/05(木) 20:43:18
C++
0766デフォルトの名無しさん2007/07/05(木) 21:05:20
アセンブリは面倒なだけで難しいのとはまた違う
技術書を読む大変さはあるけどなー
0767デフォルトの名無しさん2007/07/06(金) 21:10:24
マクロアセンブラならまあいける

本当にただのニーモニック→機械語変換だとアドレスの管理を全部自分でやらないといけないから死ねる
0768デフォルトの名無しさん2007/07/07(土) 00:21:56
それアセンブラって言わないと思うが...
0769デフォルトの名無しさん2007/07/07(土) 00:56:53
DEBUG.EXEだな
あれのアセンブラ機能は貧弱だったな
それでもcom形式ぐらいならなんとか書けちゃったりするが
0770デフォルトの名無しさん2007/07/07(土) 12:02:34
FEDCBA98
0771デフォルトの名無しさん2007/07/11(水) 12:32:08
何の16進かと思ってググったらゲーム改造かよ。
何にしろバイナリ書き換えは趣味の域でなきゃやりたくないな。
0772デフォルトの名無しさん2007/07/22(日) 20:44:27
C++上級者(笑)
0773デフォルトの名無しさん2007/07/22(日) 20:52:46
三(笑)

                ( *´ω`)ムシャムシャ
                つi'"':
                 `、:_i'
| ┌┐
│ ││             ││   若干食べられてしまったが
| ││             ││   >>772はC++より安く見えることがわかる
| ││             ││
└────────────
 C++上級者(笑)      >>772
0774デフォルトの名無しさん2007/09/24(月) 07:47:59
defineの代わりにconstを使うよう推奨されているのに、コンパイラのソースを見ると
大量にdefineが使われているのはなぜ???
0775デフォルトの名無しさん2007/09/24(月) 09:54:14
もともとCで書かれていたか、
実はCとしてコンパイルするようになっているか、
書いた人間がconst推奨を知らなかったか。
0776デフォルトの名無しさん2007/09/24(月) 12:36:23
Cと共用なんだろ。
何を悩む必要がある
0777デフォルトの名無しさん2007/09/24(月) 19:44:30
>>774
錯覚が目
0778デフォルトの名無しさん2007/09/28(金) 00:10:08
>>774
システムのベンダとユーザは事情も、従うべきルールも違う。
システムヘッダの真似してアンダースコアで始まる名前を使うような人大杉。

引数に渡す定数を参照させるだけのために、
オブジェクトのリンクを強要するDLLなんかありえないし、
他の言語とリンクさせるときや、バイナリ互換性が問題なら、
定数の具体的な値をはっきり公開するしかない。

それに、Cでは配列サイズにconst整数を使えない。
0779デフォルトの名無しさん2007/09/28(金) 01:31:32
constって言ったって、ヘッダで初期化子付きの定義を与えるんだから、
DLLなんて関係ないけど、ほかは合っているや。
0780デフォルトの名無しさん2007/09/28(金) 03:04:35
>>constって言ったって、ヘッダで初期化子付きの定義を与えるんだから、
プレーンCモードでコンパイルされたときに実体が増殖し放題で
リンクエラーになるからDLLベンダがそれをやったら配慮不足だ。
よく分かってないハード屋寄りのユーザとかが目を回すからな。

このスレ的にはC++コンパイラだとそれができるっていうのは大事だけどな。
0781デフォルトの名無しさん2007/09/28(金) 10:10:17
ぷ
0782デフォルトの名無しさん2007/10/11(木) 01:31:51
const だと余計にメモリ消費するからヤなんじゃないの?
0783デフォルトの名無しさん2007/10/12(金) 23:21:57
staticにすらば、アドレス参照とかしなければ実体は取り除かれるんじゃないの?
コンパイラの能力にによるだろうけど
0784デフォルトの名無しさん2007/10/13(土) 01:50:27
>>783
C++ では const つけた名前空間スコープのオブジェクトはデフォルトで
内部リンケージになる。 static は要らない。
0785デフォルトの名無しさん2007/10/20(土) 22:13:19
static const volatile unsigned long long int X;

は意味無しか
0786デフォルトの名無しさん2007/11/01(木) 04:00:31
インテルコンパイラでループをSSEで計算させようとしているのですが、
コンパイル時に
loop was not vectorized: dereference too complex
というレポートを返してきます。
これは具体的にはどのような問題があるといっているのでしょうか?
0787デフォルトの名無しさん2007/11/01(木) 17:32:37
>>786
そのままじゃね?
逆参照が複雑過ぎてベクトル化出来なかったお
意味は、その箇所にSSE使えなかったと

ポインタポインタポインタ使ったとか間接的なイテレータ使ったとか?コード見てないからなんとも言えないけど。インテルコンパイラ使ったことないし。
0788デフォルトの名無しさん2008/01/22(火) 16:22:42
インテルコンパイラとgccだとやっぱり最適化はインテルの方が上?
0789デフォルトの名無しさん2008/01/22(火) 18:18:26
上。特に、オブジェクト間最適化は凄い。
0790デフォルトの名無しさん2008/02/24(日) 17:30:31
オブジェクト間最適化って何?
0791デフォルトの名無しさん2008/02/24(日) 18:03:39
リンクの段階で最適化かけるんじゃないの
0792デフォルトの名無しさん2008/03/20(木) 10:54:39
それならVC8も負けてないぜ。
リンク時間の長さがそれを証明してくれている。
0793デフォルトの名無しさん2008/03/20(木) 11:48:43
pgi使え
0794デフォルトの名無しさん2008/07/31(木) 23:39:38
http://pc11.2ch.net/test/read.cgi/tech/1215510861/124

 おまけに、C++でメタプログラミングって、ボケてんのか。
 いつまでたっても 「C with Classes」の領域から進化しないものをw。
 まさか、テンプレートを持ち出さないよな。
 

 C何チャラっとぃうのを見ると虫唾が走るんだけれど。
0795デフォルトの名無しさん2008/08/01(金) 04:42:42
書籍スレは相変わらず
自尊心に能力が追いついていかない子の溜まり場なんだな・・・。
0796デフォルトの名無しさん2008/08/01(金) 10:58:08
×書籍スレ
○プログラム板
0797デフォルトの名無しさん2008/08/01(金) 12:51:00
>>791
リンカー無しじゃなかったか?
確かGCCのリンカーで代用するようになってた気がするぞ。
0798デフォルトの名無しさん2008/08/31(日) 13:12:08
int main(void){
 return 0;
}
のreturn 0の0ってどこで使われるの?
シェルから読めるの?
0799デフォルトの名無しさん2008/08/31(日) 13:16:35
通常、読めます。bsh系なら$0、csh系なら$statusかな。
0800デフォルトの名無しさん2008/08/31(日) 22:25:51
MS-DOS、WindowsコンソールアプリならErrorLevel
0801デフォルトの名無しさん2008/08/31(日) 22:30:09
WindowsのGUIアプリだと確か捨てられるんだよな
0802デフォルトの名無しさん2008/08/31(日) 22:31:22
>>801
それでも欲しければ、GetExitCodeProcess
0803デフォルトの名無しさん2008/09/07(日) 15:22:14
俺上級者。なんでも聞いて。
0804デフォルトの名無しさん2008/09/25(木) 01:58:01
質問: gccなら一応これでやりたいことが出来るんだが

#include <iostream>
#include <typeinfo>

template <typename X> struct wrap { X val; wrap(const X x=X()) : val(x) {} };
template <typename X> wrap<X> make_wrap(const X &x) { return wrap<X>(x);}
template <typename X> void print_typeid(const wrap<X> &x, const char *name) {
std::cout << "typeid(" << name << ")=" << typeid(X).name() << std::endl;
}
template <typename X, typename Y> struct operator_lshift { typedef typeof(X()<<Y()) result_type; };
template <typename X, typename Y>
wrap<typename operator_lshift<X,Y>::result_type>
//wrap<typeof(X()<<Y())> // gcc 3.4.4でinternal error
operator <<(const wrap<X> &x, const wrap<Y> &y) { return make_wrap(x.val<<y.val); }

int main()
{
wrap<short> s; wrap<long> l; wrap<int> i;
print_typeid(s, "s");
print_typeid(i, "i");
print_typeid(l, "i");
print_typeid(s<<i, "s<<i");
print_typeid(l<<i, "l<<i");
}
0805デフォルトの名無しさん2008/09/25(木) 01:59:18
質問1)
typeidが使えない標準環境はどうすればいい?

質問2)
operator_lshift構造体を介さずに直接書くと
gcc 3.4.4でinternal errorが出るのだが
これは誰が悪い?

質問3)
operator<< だけでなく、たくさんの演算子(>>,&,|,+,-など)について
結果の型をテンプレートパラメータ typename Xとtypename Yから
導出したいんだが、もっと楽な方法はない?
0806デフォルトの名無しさん2008/09/25(木) 02:00:16
すまん、質問を訂正

(誤)typeidが使えない標準環境はどうすればいい?
(正)typeofが使えない標準環境はどうすればいい?
0807デフォルトの名無しさん2008/09/26(金) 01:14:25
804は、XとYにデフォルトコンストラクタが定義されていないとコンパイルできないので修正
template <typename X, typename Y> struct operator_lshift { typedef typeof((*(X*)0)<<(*(Y*)0)) result_type; };
gccならこれでOKっぽい
0808デフォルトの名無しさん2008/10/01(水) 22:08:50
http://pc11.2ch.net/test/read.cgi/tech/1188688416/615

ちょっとこれ評価してよ
0809デフォルトの名無しさん2008/10/01(水) 22:52:24
自分で評価しろ、ボケ
0810デフォルトの名無しさん2008/10/01(水) 22:55:23
上級者なのにそんなこともできねのかよw
0811デフォルトの名無しさん2008/10/13(月) 19:43:52
 | 三_二 / ト⊥-((`⌒)、_i  | |
 〉―_,. -‐='\ '‐<'´\/´、ヲ _/、 |
 |,.ノ_, '´,.-ニ三-_\ヽ 川 〉レ'>/ ノ 
〈´//´| `'t-t_ゥ=、i |:: :::,.-‐'''ノヘ|        
. r´`ヽ /   `"""`j/ | |くゞ'フ/i/        
. |〈:ヽ, Y      ::::: ,. ┴:〉:  |/         できない事に何か問題でもあるのか?
. \ヾ( l        ヾ::::ノ  |、
 j .>,、l      _,-ニ-ニ、,  |))
 ! >ニ<:|      、;;;;;;;;;;;;;,. /|       ___,. -、
 |  |  !、           .| |       ( ヽ-ゝ _i,.>-t--、
ヽ|  |  ヽ\    _,..:::::::. / .|       `''''フく _,. -ゝ┴-r-、
..|.|  |    :::::ヽ<::::::::::::::::>゛ |_   _,.-''"´ / ̄,./´ ゝ_'ヲ
..| |  |    _;;;;;;;_ ̄ ̄   |   ̄ ̄ / _,. く  / ゝ_/ ̄|
:.ヽ‐'''!-‐''"´::::::::::::::::: ̄ ̄`~''‐-、_    / にニ'/,.、-t‐┴―'''''ヽ
  \_:::::::::::::::::::::::::::::::::::::::::::::::::::::::\ /  /  .(_ヽ-'__,.⊥--t-⊥,,_
\    ̄\―-- 、 _::::::::::::::::::::__::/  /  /   ̄   )  ノ__'-ノ
  \    \::::::::::::::`''‐--‐''´::::::::::/  / / / ̄ rt‐ラ' ̄ ̄ヽヽ
ヽ  ヽ\   \:::::::::::::::::::::::::::::::::::::/      /   ゝニ--‐、‐   |
 l   ヽヽ   \:::::::::::::::::::::::::::::::/           /‐<_  ヽ  |ヽ

0812デフォルトの名無しさん2008/10/13(月) 20:34:54
上級者は実生活で十分に自尊心が満たされていて、
ネットで名無しに褒めてもらう必要なんかまったく無いから、
頭の悪い人が悔し紛れに挑発なんかしても動いちゃくれないんだよね。
0813デフォルトの名無しさん2008/10/13(月) 21:10:28
上級者が唸るようなトピックを持って来てくれ
0814デフォルトの名無しさん2008/10/14(火) 18:45:28
>>808 何故、今頃?っていう感じですかねぇ。
私が勤務している某光学機器メーカーでは
15年前にこの手のエンジン開発は出つくして
しまっている。

0815デフォルトの名無しさん2008/10/14(火) 20:06:25
>>814
基本技術は色褪せることなく必ず必要になる。だからこういう書物は必要なのだ、
0816デフォルトの名無しさん2008/10/15(水) 06:29:47
>>815
必要なのは同意だが、もっと早い時期に出版されていても
良かったはず。
この手の技術の需要はかなり昔からあったと思うが・・・
0817デフォルトの名無しさん2008/11/15(土) 12:19:40
新しいC++の仕様とか扱ってる書籍って
お勧めありますか?
0818デフォルトの名無しさん2008/11/16(日) 00:41:18
>817
ttp://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2798.pdf
0819デフォルトの名無しさん2008/11/25(火) 21:44:03
>>818
817じゃないけどありがとう
0820デフォルトの名無しさん2008/11/29(土) 22:28:30
いや、これ規格の draft だよ?
まだ draft なのに書籍もへったくれもあるかよ、くらいのつもりで書いたのに。
まあまず最初に参照すべき文章ではあるだろうけどさ。
↓辺りを読んで、ある程度概要つかんでからの方がいいかもしれない。
ttp://ja.wikipedia.org/wiki/C%2B%2B0x
0821デフォルトの名無しさん2008/12/15(月) 01:03:55
>>820
ありがとう.型推論とか導入予定なのか....wktkすぐる
0822デフォルトの名無しさんNGNG?2BP(22)
韓国がサーバー攻撃してきたっぽい
vipperが凸したんだけど韓国以外のIPがはじかれて困ってんだけどなんか良い手ない?
串とかはもう試したけど田代しか無理だからあまり効果がなくってね
ここが現行スレ
http://jfk.2ch.net/test/read.cgi/news4vip/1229266966/
0823デフォルトの名無しさん2008/12/15(月) 18:25:19
韓国に攻撃されてるぞwwww7
http://jfk.2ch.net/test/read.cgi/news4vip/1229319433/

世界フィギュア選手権で浅田真央が韓国を破り金賞に輝く
↓
韓国人が腹いせに2ちゃんねるを攻撃
↓
vipper今夜19:00 反撃凸 ←いまここ★

目標
http://www.dcinside.com/

Dcinside(ディーシーインサイド)は、韓国の電子掲示板サイトである。
デジタルカメラの情報を提供する専門サイトとして有名になりつつ、だんだん人が集まり韓国最大のコミュニティーサイトとなった。 韓国の2ちゃんねるともいえるサイト。
2004年に2ちゃんねるのサーバをDoS攻撃したことで有名。
0824デフォルトの名無しさん2008/12/17(水) 14:28:41
結局おまえらDcinsideの奴ら同類か
0825デフォルトの名無しさん2008/12/18(木) 02:35:19
反日韓国人、反日中国人、嫌韓厨&嫌中厨、は同レベルだよ、昔から。

日本文化に興味のある外国人の数は、言うまでもなく中韓文化へのそれよりずっと多いのだけど、
その人達が、日本への興味ゆえに「嫌韓厨&嫌中厨の行動だけ」見つけることが結構あって、
「なぜこの日本人達はこんなに差別的で、韓国や中国を中傷するのか?」とか言ってたりする。

こっちは当然、韓国や中国の反日教育・活動の存在を、慣れない英語で説明するわけだけど、
いくら説明したところで、目の前の嫌韓厨&嫌中厨は明らかに「反論」ではなく「中傷」「攻撃」をしてるわけで、
ちゃんと説明できてようやく「同レベル」というところまで持って行けるだけなんだよね。
ただ興奮したいだけの嫌韓厨&嫌中厨は、この「味方から失っていく」怖さがわかってない。
0826デフォルトの名無しさん2008/12/18(木) 08:56:11
さすが、C++の上級者は言うことがちがう
0827デフォルトの名無しさん2008/12/18(木) 12:16:50
>>825 目の前の嫌韓厨&嫌中厨は明らかに「反論」ではなく「中傷」「攻撃」をしてるわけで、

被害妄想乙
0828デフォルトの名無しさん2009/01/15(木) 20:41:30
結局おまいらModernC++は理解しているのか?
しているならの有用性を400文字以内で教えてくれ!
0829デフォルトの名無しさん2009/01/15(木) 21:03:59
>>828
すんごい。
0830デフォルトの名無しさん2009/01/15(木) 21:21:44
>>828
まずお前から
0831デフォルトの名無しさん2009/01/15(木) 22:13:11
さすがの俺も830はおかしいと思う
0832デフォルトの名無しさん2009/01/16(金) 01:20:25
まさか4文字で教えるとは
0833デフォルトの名無しさん2009/01/16(金) 20:03:14
400文字というのがNUL文字含むかどうか悩む
0834デフォルトの名無しさん2009/01/16(金) 23:24:48
NUL文字って何?
0835デフォルトの名無しさん2009/01/17(土) 01:02:57
>>834
初心者向けのスレへ帰れ。
0836デフォルトの名無しさん2009/01/17(土) 07:37:28
>>835
皮肉もわからんとはな
0837デフォルトの名無しさん2009/01/17(土) 11:21:53
>>836
まさかとは思うけど、
「NULLの書き間違いだろ?」と書いてるつもりなの?

本当に初心者?
0838デフォルトの名無しさん2009/01/17(土) 12:54:51
妖怪ぬるりひょんの仕業じゃ。くわばらくわばら
0839デフォルトの名無しさん2009/01/17(土) 14:15:42
>>837
NULってCでの定数じゃねーか
NULL文字だろ?w
0840デフォルトの名無しさん2009/01/17(土) 14:26:48
>>839
逆だ。NULLはc/c++の定数で、NUL文字はAsciiで規定されている文字コード名だ。
0841デフォルトの名無しさん2009/01/17(土) 14:33:04
>>839
いいから、初心者向けのスレへ帰れ。
0842デフォルトの名無しさん2009/01/17(土) 14:36:07
なんか香ばしいのがいるな
839みたいな奴が業界に入ると思うと虫唾が走る
0843デフォルトの名無しさん2009/01/17(土) 14:48:47
どっちも存在するっていうか
NULとnull文字じゃ少し意味が違う
0844デフォルトの名無しさん2009/01/17(土) 14:58:32
なんかずっと初心者スレよりしょぼい話題を繰り返してるなおまえらwwwwwwww
0845デフォルトの名無しさん2009/01/17(土) 17:00:48
まあ、そうだな。
0846デフォルトの名無しさん2009/01/17(土) 18:28:03
それをやさしく受け止めるのが上級者のたしなみ
0847デフォルトの名無しさん2009/01/22(木) 14:10:31
じゃあ初心者っぽいネタで上げてみるか
上級者の皆方相手をしてくれ
if(int a=func(),b=a*i){}
while(int a=func(),b=a*i){}
for(int a=0;int b=a/func();int c=d){}
とか
static union
{
   int a;
   struct
   {
      int b,c;
   }
}
とか
class Child:Parent
{
public:
   using Parent::Method;//プライベート継承
};
とか使ってる奴いる?(グローバル変数になるので真ん中の
static無名共同体に関しては使うことはまず無いとは思うが)
0848デフォルトの名無しさん2009/01/22(木) 17:30:30
>>847
コード並べて
>とか使ってる奴いる?
で他人に通じるとでも思っているのか。

最初のは、if/while/for の内部で変数宣言してるのがポイントなのか?
0849デフォルトの名無しさん2009/01/22(木) 20:46:04
>>848
そうそう。
言葉足らずで済まんかった。
言いたいことは>>848が書いてるとおりだよ。
0850デフォルトの名無しさん2009/01/22(木) 20:59:22
・内部の宣言は等号と間違えることがあるからあまり使ってない。せいぜいcast系ぐらいかね。
・クラス内クラスはアクセス管理に便利。重宝してます。
・プライベート継承よりも包含&インライン関数の方が良いと思う。
0851デフォルトの名無しさん2009/01/23(金) 12:41:08
>>849
局所変数はしょっちゅう使う。特に for。
0852デフォルトの名無しさん2009/01/23(金) 13:06:12
コンパイルできないのがあるじゃん
0853デフォルトの名無しさん2009/01/23(金) 14:18:40
>>850
インナークラスは使うけど無名構造体や無名共同体ってどうよ?
>プライベート継承よりも包含&インライン関数の方が良いと思う。
なじぇに?

>>851
forはよく見るけど別のってあまり見なくない?

個人的に>>847に書かれている機能を使っているのコードを
ほとんど見たことが無い。自分では便利だから割と使うんだけどね。
あとC++って他にメンバー変数へのポインタなんてマイナーな機能が
あるけどアレに関しては見たことも使ったこともないわ。
0854デフォルトの名無しさん2009/01/23(金) 15:47:52
>>853
>メンバー変数へのポインタ
C だと offsetof を使う場面。
複数のメンバ変数に値を突っ込むのに
ループを廻したいときとか、
取り得る範囲が決まっている値から
呼び出すメンバ関数を変えるとか。
0855デフォルトの名無しさん2009/01/23(金) 21:55:00
>プライベート継承よりも包含&インライン関数の方が良いと思う。
○汎用性が高い
 - 同じ名前で一部だけ流用とかも簡単
 - 名前の変更も問題なし
 - NVIにするのも簡単
○余計な関数を導入するリスクが少ない
 Traitsにするのならちゃんと切り離した方が良いと思う。

×オブジェクトがちょっと大きくなる(pimplにしてもポインタ分余計になる)
×コードが面倒

といったところかね。


>forはよく見るけど別のってあまり見なくない?
だからdynamic_castとかでは普通に使うって。MC++Dで紹介されてるよ。
0856デフォルトの名無しさん2009/01/23(金) 23:24:12
>>855
ゴメンifに関しては使うわ。でも他人が
使っているのを見ることがほとんど無いのよ。

継承に関してはなるほどね。
でも、その用途だったら初めからプライベート継承要らなくない?
実際プライベート継承が有用な時はthisを渡してオーバーライド
を使うときや、templateでのシグニチャの移譲用だと思うけど。
08578552009/01/24(土) 02:25:07
どっかで見たと思ったら、C++狂 Sutter & AlexandrescuのC++ Coding Standardsに概要あったわ。

○呼び出し側コードに影響を与えず、柔軟性に富む
○コンパイル時の独立性が高く、コンパイル時間も短い
○予期しない振る舞いを抑制する
○適用範囲がより広い
○優れた強固さと安全性
○複雑性と脆弱性がより小さい

非public継承を使うのは
・仮想関数をオーバーライドする必要がある
・protectedメンバーへのアクセスが必要
・メンバー変数よりも前に生成&後に破壊
・仮想基本クラスに配慮する必要がある
・空の基本クラスの最適化
・制御されたポリモーフィズムが必要
ぐらいだって。
0858デフォルトの名無しさん2009/01/24(土) 02:28:00
自分の場合、最もprivate継承を使う機会はboost::noncopyableを使うときだな。
0859デフォルトの名無しさん2009/01/24(土) 13:37:51
C++の上級者はWindows GUIアプリケーションの開発でMFCを使いますか?
0860デフォルトの名無しさん2009/01/24(土) 13:53:21
 GUIは、C♯.NETで作って、C++で速度を求める部分をDLLとして作ってC♯から呼び出す。
0861デフォルトの名無しさん2009/01/24(土) 14:13:31
C++/CLIでWPF
0862デフォルトの名無しさん2009/01/24(土) 14:18:21
C++&wxWidgets
0863デフォルトの名無しさん2009/01/24(土) 14:27:41
Qt !
0864デフォルトの名無しさん2009/01/24(土) 14:57:59
そういうことを決めるのは上級者ではないことが多いと思う。
ともかく案件による。配布の問題もあるし。
0865デフォルトの名無しさん2009/01/24(土) 15:07:41
オラ、おまいらここ行ってマイナーな奴を楽しんで来い。
http://pc11.2ch.net/test/read.cgi/tech/1065627704/
0866デフォルトの名無しさん2009/01/24(土) 15:46:39
誰も反応してくれないけど、boost::any用のMC++D風マルチメソッドを実装してみました。
(実装)ttp://cvs.sourceforge.jp/view/siki/siki/src/holder.hpp?view=markup
(使い方)ttp://cvs.sourceforge.jp/view/siki/siki/src/test/test_holder.cpp?view=markup
一応、boost::any以外でも使えるように汎用化しています。
#下半分がboost::anyをこのマルチメソッド用に最適化したクラスね。

まだ使い込んでないから何とも言えないけど、なんかヤバそうなところある?
0867デフォルトの名無しさん2009/01/24(土) 15:48:46
>>866
さみしいからて出張してくんなよ、素にもどれ
0868デフォルトの名無しさん2009/01/24(土) 16:02:24
スレ違いじゃないからいいじゃない。あっちは誰も相手にしてくれんのよ。
けっこう適当に作ってるので、変な落とし穴にはまってないかけっこう不安なんだよね。
0869デフォルトの名無しさん2009/01/24(土) 16:30:56
なんで反応が無いんだろうねぇ。
こういうの好きそうな人っていそうだけどね。
みんな今忙しいのかな。

ちなみに俺はそういうのは Excel とかで管理するから興味ない。
バリデータ書くにも楽だし。
0870デフォルトの名無しさん2009/01/24(土) 16:51:54
Excel(笑)
0871デフォルトの名無しさん2009/01/24(土) 17:10:21
>>868
それはなんなの?
0872デフォルトの名無しさん2009/01/24(土) 17:32:32
マルチメソッドという便利ツール。実行時にオブジェクトの種類に応じて実行するメソッドを変更してくれる。
あらかじめ関数オブジェクトを作って登録しておく必要があるのが面倒だけど。

struct TestAnyMethod0 {
 // transfer member function
 string operator()(any& arg1) { return MultiMethod::apply<string>(*this, arg1); };
 // multi method
 string operator()(int value) const { return string("int"); };
 string operator()(double value) const { return string("double"); };
};
bool m00(MultiMethod::entry<std::string, TestAnyMethod0, boost::any, int>());
bool m01(MultiMethod::entry<std::string, TestAnyMethod0, boost::any, double>());

int main() {
 TestAnyMethod0 m0;
 any m(m0);
 any a(0);
 BOOST_CHECK_EQUAL(boost::any_cast<std::string>(MultiMethod::apply(m, a)), "int");
 a = 0.0;
 BOOST_CHECK_EQUAL(boost::any_cast<std::string>(MultiMethod::apply(m, a)), "double");
}
0873デフォルトの名無しさん2009/01/24(土) 17:35:03
ただのポリモーフィズムとどう違うの?
0874デフォルトの名無しさん2009/01/24(土) 17:35:14
あっとこれを忘れてた。
int main() {
 TestAnyMethod0 m0;
 any m(m0);
 any a(0);
 BOOST_CHECK_EQUAL(m(a), "int");
 BOOST_CHECK_EQUAL(boost::any_cast<std::string>(MultiMethod::apply(m, a)), "int");
 a = 0.0;
 BOOST_CHECK_EQUAL(m(a), "double");
 BOOST_CHECK_EQUAL(boost::any_cast<std::string>(MultiMethod::apply(m, a)), "double");
}
0875デフォルトの名無しさん2009/01/24(土) 17:36:10
バグってた…… ×m(a) -> ○m0(a)

0876デフォルトの名無しさん2009/01/24(土) 17:39:23
>873
普通の多態だと引数の実行時多態ができないけど、これだとできる。
さらに関数オブジェクト自体の多態もできるように作ってみた。
08778662009/01/24(土) 17:46:30
boost::anyって、データを処理しようとするとデータの中身が何かを知らないといけないから、
けっこう不便なんだよね。
boost::variantだと(visitorを活用して)中身を知らなくても処理を行えるようにしているので、
これをboost::anyに応用できないか、と思って拵えたのが>866
08788662009/01/24(土) 17:48:51
>872はバクってるな……面倒なのでサンプルはこっち見て。
(使い方)ttp://cvs.sourceforge.jp/view/siki/siki/src/test/test_holder.cpp?view=markup
0879デフォルトの名無しさん2009/01/31(土) 16:14:29
>>878
みんなの現場はそういうの使わしてくれるん?
うちはboostも無理っぽいのだけど
0880デフォルトの名無しさん2009/02/05(木) 19:44:31
マ板でやれ
0881デフォルトの名無しさん2009/02/05(木) 23:04:39
最終的にboostを目指すんだ
0882デフォルトの名無しさん2009/05/02(土) 20:43:33
STLはC++に第三者が追加したものだから、そのSTLなら学習しても
頭髪の心配は不要ですか。
0883デフォルトの名無しさん2009/05/03(日) 12:16:59
最近は彼もM字後退が著しいからなぁ。
0884デフォルトの名無しさん2009/06/07(日) 16:26:24
sleep(0)って具体的にどのような動作をするのですか?
0885デフォルトの名無しさん2009/06/07(日) 17:53:03
>>884
強制的にコンテクストスイッチを起こす
0886デフォルトの名無しさん2009/06/07(日) 18:52:08
>>885
と、信じられて使われている間違った方法。
0887デフォルトの名無しさん2009/06/07(日) 20:57:46
Windows3.1のようなノンプリエンプティブなOSには必須だったけどな
0888デフォルトの名無しさん2009/06/07(日) 21:38:34
Win32でのSleep(0)ならば>>885のとおり。
0889デフォルトの名無しさん2009/06/15(月) 10:52:13
VC++6.0上で、DDKを使ってIDEの情報を取得しようとしてますが、
winnt.hとntddk.hのマクロがコンフリクトしてしまいます。
#ifndefとか#pragma onceを使わないで回避できる方法を知っているエラい方いましたら、教えて下さい。
0890デフォルトの名無しさん2009/06/15(月) 10:57:00
>>889
いったん、#undefする
0891デフォルトの名無しさん2009/06/15(月) 10:59:49
>>890
すみません。衝突するマクロやtypedefがいっぱいあるので、
#undefも使わない方法でお願いします。
0892デフォルトの名無しさん2009/06/15(月) 11:01:02
ソースを分ける。
0893デフォルトの名無しさん2009/06/15(月) 11:06:29
>>892
分割は考えてみました。
必要な部分だけ切り取ってローカルでインクルードを試みましたが、
あまりにも数が多すぎて、途中で断念しました。

甘い考えですが、簡単に回避できる方法って無いですか?
0894デフォルトの名無しさん2009/06/15(月) 11:10:55
>>893
ソースのほうを、それぞれのヘッダファイルを使う部分で分けた?
それしかないでしょ。
0895デフォルトの名無しさん2009/06/15(月) 11:45:49
>>894
使う部分で分けたのですが、ntddk.hの中でインクルードしているヘッダでも
衝突したりしているので、手間がかなりかかってました。

分割する方法しかなさそうですね。。。orz
ありがとうございました。
0896foi.americanprogress.org2009/08/17(月) 17:49:34
自動焼人 ★ = 自動保守 ◆KAWORUKOFI = 自動保守#K9K?_D[L

名言集 その2
『お前が規制系キャップ取れるか審査してやるよ』

http://yutori7.2ch.net/test/read.cgi/news4vip/1249830540/ ID:PVAf+dux0 = 自動焼人 ★

> 36 :以下、名無しにかわりましてVIPがお送りします [sage] :2009/08/10(月) 00:31:30.02 ID:PVAf+dux0
> >>33
> キャップとコテハンの違いは何?

> 46 :以下、名無しにかわりましてVIPがお送りします [sage] :2009/08/10(月) 00:38:05.34 ID:PVAf+dux0
> >>45
> その回答では落ちるなw
> 答えは教えないがw

> 50 :以下、名無しにかわりましてVIPがお送りします [sage] :2009/08/10(月) 00:41:29.96 ID:PVAf+dux0
> Q.キャップとコテハンの違いは何?
> A.2ちゃんねるのボランティアの登録制度

> それがお前の答えかw

> 52 :以下、名無しにかわりましてVIPがお送りします [sage] :2009/08/10(月) 00:43:10.06 ID:PVAf+dux0
> まぁ、どうせ正解が出るわけもないし、次の問題。
> 君が思う面白いスレはどんなの?
----------------------------------------------
この自動焼人 ★メールマガジンの配信停止をご希望される方は
http://qb5.2ch.net/test/read.cgi/sec2chd/1250169591/
にて自動焼人 ★までご連絡ください
0897デフォルトの名無しさん2009/09/17(木) 15:02:28
やあ自称上級者の皆さん
0898ぅゅ ◆e6.oHu1j.o 2009/09/19(土) 20:59:39
やぁこんばんわ
0899ぅゅ ◆e6.oHu1j.o 2009/09/20(日) 08:24:10
かそっています
0900デフォルトの名無しさん2009/09/20(日) 09:02:39
そうだね糞コテが消えたら過疎じゃなくなるよね
0901デフォルトの名無しさん2009/09/23(水) 19:46:42
かそりすぎです
0902デフォルトの名無しさん2009/09/30(水) 02:49:16
Intel iccで、ベクトル化しやすいコードの書き方を教えてください。
コンパイル時のレポートを見て、ベクトル化されなかった行を書き替えること
によって、ベクトル化できるようにしているのですが、
長い数式を2つ3つに分けたり、書き順を変えたりすると、ベクトル化されたりするのですが、
ベクトル化される、されないの条件がいまいちわかりません。

0903デフォルトの名無しさん2009/09/30(水) 07:02:13
iccは様々な状況においてベクトル化を施してくれる優秀なコンパイラだが
それ故どんな状況においてベクトル化を施してくれるかは多様化し過ぎていて把握できんのだ。
0904デフォルトの名無しさん2009/10/27(火) 09:39:48
碌な上級者が居ませんね
0905デフォルトの名無しさん2009/10/27(火) 09:47:32
碌マンは名作
0906デフォルトの名無しさん2009/11/10(火) 07:27:46
クラステンプレートを使うとき、ヘッダファイルに本体まで書かなきゃいけない糞仕様を何とかしてくれ
0907デフォルトの名無しさん2009/11/10(火) 13:27:13
>>906
ソースファイルに本体書いてヘッダファイルに include すればいいじゃん。」
0908デフォルトの名無しさん2009/11/13(金) 22:10:47
>906
Comeau C++ で export 使ってください。
0909デフォルトの名無しさん2009/12/12(土) 18:53:43
ここは上級者隔離スレですか?
0910デフォルトの名無しさん2009/12/18(金) 18:29:40
上級者の皆、これに答えろ!

C++相談室 part76 -
   25: 動的削除子の実装の仕方を分かりやすく教えてください。

http://pc12.2ch.net/test/read.cgi/tech/1260972593/
0911デフォルトの名無しさん2009/12/18(金) 19:10:52
>>910
マルチです。無視してください。
0912デフォルトの名無しさん2009/12/18(金) 19:13:23
荒らしの掃き溜めスレでマルチを華麗に無視するなんて格好いい!
0913デフォルトの名無しさん2009/12/18(金) 22:17:20
動的削除子ってshared_ptrのやつ?
0914デフォルトの名無しさん2009/12/18(金) 23:36:21
struct HolderBase {
virtual ~HolderBase() {}
virtual void destroy() = 0;
};
template<typename T, typename D>
struct Holder: HolderBase {
T *p;
D deletor;
virtual void destroy() { deletor(p); }
};
template<typename T>
struct Ptr {
Holder *holder;
template<typename D> Ptr(P *p, D d): holder(new Holder<T, D>{p,d}) {}
~Ptr() { holder->destroy(); delete holder; }
};
上級者スレだからこれでいいよね
0915デフォルトの名無しさん2009/12/18(金) 23:39:27
訂正
Holder *holder;
→ HolderBase *holder;
0916デフォルトの名無しさん2009/12/18(金) 23:40:20
さすが上級
0917デフォルトの名無しさん2009/12/18(金) 23:43:48
更に訂正
template<typename D> Ptr(P *p, D d): holder(new Holder<T, D>{p,d}) {}
→ template<typename U, typename D> Ptr(U *p, D d): holder(new Holder<U, D>{p,d}) {}
0918デフォルトの名無しさん2009/12/19(土) 16:41:48
正規表現エンジン作ったことある?
0919デフォルトの名無しさん2009/12/19(土) 18:21:50
おーとまとんうんこ
0920デフォルトの名無しさん2009/12/21(月) 01:39:46
>918
PEGの方が簡単なのでお勧め。
0921デフォルトの名無しさん2009/12/21(月) 01:41:02
>913 boost::anyの方が参考になる。こっちの方が簡単な実装だし。
0922デフォルトの名無しさん2009/12/21(月) 04:50:24
>>920
簡単・・・・?
0923デフォルトの名無しさん2009/12/30(水) 10:57:49
>>910
型消去 (Type Erasure)を使って、deleteの委譲を隠蔽するように実装しているんだよ。
0924デフォルトの名無しさん2010/01/15(金) 04:52:04
C++ってほんとにごちゃごちゃしてるな
0925デフォルトの名無しさん2010/01/15(金) 10:45:27
C からの派生である以上、全権をプログラマに委任する姿勢も
受け継がざるを得ないからなあ。
0926デフォルトの名無しさん2010/01/15(金) 11:52:34
そこでobjective-cの出番
0927デフォルトの名無しさん2010/01/17(日) 15:06:45
>>924
使う人次第だけどな。
0928デフォルトの名無しさん2010/01/18(月) 03:33:04
使う人によって
ごちゃごちゃしたり
すっきりしたり
するのであれば
それは欠陥と言って良い
0929デフォルトの名無しさん2010/01/18(月) 03:42:54
ごちゃごちゃした書き方する奴が出てこない言語は存在しないから、
これはもう、言語というものがごちゃごちゃしてるということだ。
0930デフォルトの名無しさん2010/01/18(月) 03:46:45
その反論は予想してた

どんなスマートな言語でも
ごちゃごちゃ書こうと思えば書ける

しかし下手な人がなんとなく書いても
ごちゃごちゃになる可能性が低い方が
良い言語だと思う
0931デフォルトの名無しさん2010/01/18(月) 04:18:11
それは、良さ=無能への優しさ、という考えの場合だね。
そういう言語は引き替えに、有能な人間のパフォーマンスと、出来上がるブツのパフォーマンスを
犠牲にしていることが多い。何というか日本社会的な「良さ」だよね。
0932デフォルトの名無しさん2010/01/18(月) 04:36:18
>有能な人間のパフォーマンスと、出来上がるブツのパフォーマンスを犠牲にしていることが多い

そう思うのは君の勝手だが
そんな君がかわいそうだと思った
0933デフォルトの名無しさん2010/01/18(月) 04:55:43
> そんな君がかわいそうだと思った
うん、結果の出せない人や、根拠を言えないのに自信だけある人には
よく哀れまれたり見下されたりする。
0934デフォルトの名無しさん2010/01/18(月) 13:14:45
人間の思考というものが本来混沌としているので、言語が論理的で簡潔になるほど
人間にとっては非直感的になるか、言語の表現力が制限される場合が多い。
0935デフォルトの名無しさん2010/01/18(月) 14:07:31
みんなC++の本質はboost::labmdaにあると思ってるよね?
0936デフォルトの名無しさん2010/01/18(月) 14:08:14
タイプミスった。lambda
0937デフォルトの名無しさん2010/01/18(月) 19:01:15
lambada
0938デフォルトの名無しさん2010/01/19(火) 03:47:38
spiritだろJK
0939デフォルトの名無しさん2010/01/19(火) 03:58:31
ネタだろうが変態ライブラリあげんな滓

MPLとFusionに決まってる
0940デフォルトの名無しさん2010/01/19(火) 04:20:43
いいえ、preprocessorです。
0941デフォルトの名無しさん2010/01/19(火) 13:44:36
noncopyableだろ。
0942デフォルトの名無しさん2010/01/19(火) 14:14:01
どう考えてもcompressed_pairしかない
0943デフォルトの名無しさん2010/01/19(火) 22:49:33
makeしたら負け
0944デフォルトの名無しさん2010/01/20(水) 03:19:27
ここまでprogress_displayタンの自演
0945デフォルトの名無しさん2010/01/20(水) 06:16:56
_____
|reject|
. ̄.|| ̄     オワタ┗(^o^ )┓三 ←progress_display
  ||           ┏┗   三
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0946デフォルトの名無しさん2010/01/20(水) 23:17:03
こんなのって定義できなかったっけ?

template<class T>
class H
{
template<int function(const T&)>static void F(const T& d);
}


0947デフォルトの名無しさん2010/01/20(水) 23:21:03
template<class T>
class H
{
template<int function(const T&)>static void F(const T& d);
}

を.cppに定義するとしたら

template<class T>
template<int function(const T&)>
static void H::F<T>(const T& d){...}

だっけ?
0948デフォルトの名無しさん2010/01/23(土) 19:06:37
コンパイルしてみれば良いじゃん。
0949デフォルトの名無しさん2010/01/29(金) 23:09:14
次スレもC++上級者の特徴について語り合うよ
0950デフォルトの名無しさん2010/01/30(土) 06:36:50
マ板でやれカス共
0951デフォルトの名無しさん2010/01/30(土) 06:43:14
#ifdefでWindowsの32ビット版と64ビット版とLinuxの32ビット版と64ビット版で
場合分けをしたいのですが、どのように書けばよいのでしょうか?
0952デフォルトの名無しさん2010/01/30(土) 15:51:13
>>951
ここの「定義済みマクロ」のとこを参照。x86(-64)限定だけど。
http://homepage1.nifty.com/herumi/prog/gcc-and-vc.html
0953デフォルトの名無しさん2010/03/05(金) 12:57:39
碌な上級者が居ませんね
0954デフォルトの名無しさん2010/03/09(火) 16:10:56
Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:

The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.
0955デフォルトの名無しさん2010/03/16(火) 21:15:54
0% 10 20 30 40 50 60 70 80 90 100%
|----|----|----|----|----|----|----|----|----|----|
******************************************************************
0956デフォルトの名無しさん2010/03/19(金) 16:42:11
makefileでintel compilerがなかったらgccを使うというような設定はできないものだろうか?
0957デフォルトの名無しさん2010/03/20(土) 10:20:34
設定も何もそう書けばいいだけのことだろ?
which icc > /dev/null && icc ... || gcc ...
0958デフォルトの名無しさん2010/04/22(木) 07:39:44
autoconfしろよ
0959デフォルトの名無しさん2010/05/12(水) 21:41:58
std::transformにメンバ関数を渡したい
std::vector<CFoo*> vf,vf2;

CFoo* CFoo::MemFunc(CFoo* foo) { return NULL;}

std::transform(vf.begin(),vf.end(),vf2.begin(),std::mem_fun(&CFoo::MemFunc));

これじゃな何でなのかしらん?

0960デフォルトの名無しさん2010/05/12(水) 22:17:08
>>959
引数 foo はどこから出てくるの?
vf2 の要素数は大丈夫?
0961デフォルトの名無しさん2010/05/12(水) 22:41:18
>>960
transformが*(vf.begin()+i)を渡ししてくれると思っています。そもそもそこが間違い?
vf2の要素は呼び出す前にvf2.reserve(vf.size());しています。
0962デフォルトの名無しさん2010/05/12(水) 23:06:16
>>961
非 static メンバ関数は暗黙の第一引数として CFoo* this がついてる。
つまり渡してる関数オブジェクトは CFoo* this, CFoo* foo の2つ引数が要ることになる。

vf2 の要素数を確保するには reserve() じゃなくて resize() しないとダメ。
ただしどうしても reserve() にしたいなら transform() に std::back_inserter(vf2) を
渡すことで同様の結果は得られる。
0963デフォルトの名無しさん2010/05/12(水) 23:22:34
あの〜、動作云々ではなく、コンパイルが通らないという話なんですが・・・
0964デフォルトの名無しさん2010/05/12(水) 23:41:28
>>962
だから、関数オブジェクトの引数の数が足りないからだろ。

そもそもコンパイルが通らないことを相談したいんならエラーメッセージぐらい貼れよ。
0965デフォルトの名無しさん2010/05/12(水) 23:43:34
>>964
C++上級者のすれでは?

上級者なら、エラーメッセージなんてなくともコードを見れば、そのエラーメッセージ位
分かるのでは?
0966デフォルトの名無しさん2010/05/12(水) 23:45:38
>>965
そういうことならスレ違いだ。
↓こっち行け。
http://pc12.2ch.net/test/read.cgi/tech/1187922645/
0967デフォルトの名無しさん2010/05/12(水) 23:47:28
>>965
引数の数が足りないって分かって指摘してくれてるじゃないか。何が不満なの?
0968デフォルトの名無しさん2010/05/13(木) 00:01:00
上級者が集まってるわけはないんですねw
0969デフォルトの名無しさん2010/05/13(木) 11:02:38
>>968
素晴らしい!
いままで誰も知らなかった、そんな難しいことを簡単に発見するなんて!
是非とも学会で発表すべきだ!
0970デフォルトの名無しさん2010/05/29(土) 06:11:35
getloadavgでCPU使用率の平均値を取得できますが、
コマンド発行時点のCPU使用率を取得する方法を教えてください。
0971デフォルトの名無しさん2010/06/01(火) 23:03:50
1 :名無しさん@どっと混む:2009/12/14(月) 20:45:15 ID:unnBMLw10
高根社長のSM趣味サイトMaskRと
副業のSMクラブ銀座プレジス・動画配信専門リアルミストレスばかり語られるが
高根社長の本業コムラッドについても語ろう

銀座プレジス
http://www.prezis.jp/top.htm

MaskR
http://maskr.com/

プレジスを語ろう
http://set.bbspink.com/test/read.cgi/sm/1246009466/

動画配信専門リアルミストレスってどうよ?
http://set.bbspink.com/test/read.cgi/sm/1249183350/

9 :名無しさん@どっと混む:2010/01/03(日) 18:27:00 ID:RSEbBiG0O
高値はもう大麻やめたの?

10 :名無しさん@どっと混む:2010/01/04(月) 05:15:29 ID:A3l1qdv+O
タカネ社長ってどうやってばれないように脱税してんだろ?
億単位で脱税して億ション暮らしなんて凄いよな
監査役の奥さんもグルなのか?

12 :名無しさん@どっと混む:2010/01/05(火) 01:47:06 ID:KAHwqMrBO
株式会社Comrade株式会社コムラッド株式会社Comrade株式会社コムラッド株式会社Comrade株式会社コムラッド株式会社Comrade株式会社コムラッド株式会社Comrade
株式会社Comrade株式会社コムラッド株式会社Comrade株式会社コムラッド株式会社Comrade株式会社コムラッド株式会社Comrade株式会社コムラッド株式会社Comrade

13 :名無しさん@どっと混む:2010/01/05(火) 01:47:47 ID:KAHwqMrBO
高根英哉高根英哉高根英哉高根英哉高根英哉高根英哉高根英哉高根英哉高根英哉高根英哉高根英哉高根英哉高根英哉高根英哉高根英哉高根英哉高根英哉高根英哉
0972デフォルトの名無しさん2010/06/01(火) 23:04:40
18 :名無しさん@どっと混む:2010/01/07(木) 09:26:06 ID:5NL2jyJpO
高根はMASKRでレイプ仲間募集するのやめたんだね
mixiで募集中か

21 :名無しさん@どっと混む:2010/01/10(日) 19:36:45 ID:FdRwgXUTO
風俗店やってるってことは高根社長は暴力団と繋がってるんだね
どこの組にいくらみかじめ料払ってるんだかw

23 :名無しさん@どっと混む:2010/01/23(土) 03:43:12 ID:Pdcv8aq0O
タカネ社長未成年に酒飲ませてレイプ

24 :名無しさん@どっと混む:2010/01/29(金) 18:16:06 ID:zMwtdkIsO
高根社長のレイプ趣味は病気だから治らない

25 :名無しさん@どっと混む:2010/02/01(月) 01:39:32 ID:uaH5mo2nO
前科者

26 :名無しさん@どっと混む:2010/02/09(火) 00:52:46 ID:JwGmN2cG0
>>25
容疑はレイプ?買春?管理売春?公然猥褻?薬物?脱税?詐欺?傷害?

28 :名無しさん@どっと混む:2010/02/14(日) 22:56:30 ID:lykq8x1VO
どこかのスレで人を死に追いやったと書いてあった

33 :名無しさん@どっと混む:2010/03/04(木) 12:49:19 ID:J8YxaRGO0
金がないって脱税がばれて追徴課税でも来たか?
せっかく脱税の隠れ蓑にプレジス営業してるのに残念だったなw

38 :名無しさん@どっと混む:2010/03/12(金) 21:09:53 ID:L0W4+sivO
首吊り首絞めプレイ大好き高根英哉
0973デフォルトの名無しさん2010/06/01(火) 23:05:23
53 :名無しさん@どっと混む:2010/05/17(月) 13:14:06 ID:E/7OZVtz0
>>18
高根英哉blogでレイプ仲間募集中

私とともにマスクの女どもを弄ぶ仲間を募集する
急に思いついたら連絡をして、集まれるような仲間だ
だから、複数名募集するし、いついつという日時があるわけでもない
条件は以下のとおりだ
    ・SMを実践している、または興味がある
    ・マスクを用意できる
    ・都内でイベント参加できる
    ・イベント内容およびこの仲間を通じて知りえた情報を口外しない
    ・成人男子である
    ・携帯電話および携帯メールアドレスを私に公開できる
    ・酒が好きである
希望者は私宛にメールを送ってほしい
全員が参加できるわけでもないので、こちらの選択に任せてもらう
なるべく想いを書いてもらうほうがわかりやすいし
経験や顔写真も歓迎。
r[email protected]
[email protected]
[email protected]
0974デフォルトの名無しさん2010/07/21(水) 23:41:49
勿論上級者はTMPコードバリバリ書くんだろ?
0975デフォルトの名無しさん2010/09/05(日) 19:43:47
ここにおいでの皆さんはやっぱり、
コンソールから修行したの?
0976デフォルトの名無しさん2010/09/05(日) 19:55:08
コンソールしかなかった
0977デフォルトの名無しさん2010/09/05(日) 19:57:26
コンソールすらなかった
0978デフォルトの名無しさん2010/09/06(月) 03:58:21
なあ……forループ終了後にループ変数のスコープが保証されないのは仕様だよな。
例えばchar型で255までループしたとき、抜けた後は256になるのが妥当だろうけど、
charは256になれないもんな。 0だろ?
0979デフォルトの名無しさん2010/09/06(月) 04:10:41
意味不明
0980デフォルトの名無しさん2010/09/06(月) 04:14:37
>>978
for(ここ)で定義した変数のスコープは、現在では for() {ここ}です。
だから、外側では破壊されています。
ただし昔のVC++なんかは、ここfor() {} なので、外でも参照できます。
VC++の場合は、標準の動作にするかどうかはコンパイルスイッチで制御できます。

変数の加算結果はこれとはまた別の話だ。
0981デフォルトの名無しさん2010/09/06(月) 12:13:13
>>978
まずお前のchar型はなんbitなのかと問いたい、問い詰めたい、小一時間(ry
0982デフォルトの名無しさん2010/09/06(月) 17:26:16
いや待て、char が符号無し整数の処理系かも知れないぞ
0983デフォルトの名無しさん2010/09/07(火) 00:05:28
そもそも、forループの継続条件で255までと言うのが無理がある。do-whileなら兎も角。
0984デフォルトの名無しさん2010/09/07(火) 05:32:29
なるほどこれが上級者の話題か。
0985デフォルトの名無しさん2010/09/07(火) 13:15:39
境界問題をこそ上級
レス数が950を超えています。1000を超えると書き込みができなくなります。