【初心者歓迎】C/C++室 Ver.79【環境依存OK】
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2012/06/30(土) 19:40:01.73ただしその場合、質問者は必ず環境を書きましょう。
※sage禁止です(と代々スレに書いてありますが自己判断で)。
【前スレ】
【初心者歓迎】C/C++室 Ver.78【環境依存OK】
http://toro.2ch.net/test/read.cgi/tech/1331894668/
◆ソースのインデントについて
半角空白やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのも手ですが直接貼る場合は、
全角空白か に置換すると見栄えだけはよくなります。
【アップローダー】(質問が長い時はココ使うと便利)
http://codepad.org/ (コンパイルもできるし出力結果も得られる[]privateをチェック)
http://ideone.com/ (時間帯によってはcodepadが重い事があるのでここも利用)
0002デフォルトの名無しさん
2012/06/30(土) 19:42:33.670003デフォルトの名無しさん
2012/06/30(土) 19:45:28.28だから要らないって。
0004デフォルトの名無しさん
2012/06/30(土) 19:45:48.940005デフォルトの名無しさん
2012/06/30(土) 19:46:21.42> >>976
> 見ることが目的であって、記述ミスが目的じゃないだろ
> そもそも、thisなしで困るような関数書くな。
> 結局this忘れでも、メンバーにm_つけ忘れでも大差ねぇよ
メンバにm_付け忘れは宣言の時一回気をつければいいだけ
this忘れは使う時に毎回気をつけなければならない
0006デフォルトの名無しさん
2012/06/30(土) 19:52:34.580007デフォルトの名無しさん
2012/06/30(土) 19:54:10.030008デフォルトの名無しさん
2012/06/30(土) 19:55:19.00副作用をちゃんと意識してプログラム組んでんのか?
ローカル変数でも可能な限り副作用は避けて、
副作用に特に気をつけるべきメンバ変数には目印を付ける
バグを減らすには重要だよ
0009デフォルトの名無しさん
2012/06/30(土) 20:07:58.52スコープが広いほど副作用に気をつける必要がある
いつどこで変更されるか分かり辛くなる
グローバル変数はその最たる物だが、
メンバ変数もスコープが広くそれなりに危険な物で、
メンバ変数とそれ以外は区別がついた方が良い
副作用に対する意識の程度が
m_の重視/軽視に繋がると思うね
0010デフォルトの名無しさん
2012/06/30(土) 20:29:08.100011デフォルトの名無しさん
2012/06/30(土) 20:33:07.560012デフォルトの名無しさん
2012/06/30(土) 20:44:21.780013デフォルトの名無しさん
2012/06/30(土) 20:48:26.880014デフォルトの名無しさん
2012/06/30(土) 20:59:13.800015デフォルトの名無しさん
2012/06/30(土) 21:35:20.30Pythonはself(C++のthis相当?)が必須なのか。それいいな。
0016デフォルトの名無しさん
2012/06/30(土) 21:38:43.16こういう風に文法で制限してあるといいよね
0017デフォルトの名無しさん
2012/06/30(土) 21:40:30.840018デフォルトの名無しさん
2012/06/30(土) 21:50:51.76普通のメンバ関数も扱いが変わるのだから気にする必要もないと思うが
0019デフォルトの名無しさん
2012/06/30(土) 22:54:28.690020デフォルトの名無しさん
2012/06/30(土) 23:00:26.93必要な手間なんでしょ
0021デフォルトの名無しさん
2012/06/30(土) 23:43:03.73アッー!な演算子だな。
自分で使うときはいつも思うよw
0022デフォルトの名無しさん
2012/06/30(土) 23:48:13.27リストとか木でp->=next だの p->=leftだのと書けたら楽やなぁと。
0023デフォルトの名無しさん
2012/06/30(土) 23:48:28.05稀に見る事はある
ただ、グローバル名前空間での関数定義を行う事が少ないので
あまりプリフィクスが必要にはならない
0024デフォルトの名無しさん
2012/07/01(日) 17:09:03.550025デフォルトの名無しさん
2012/07/01(日) 17:14:13.21内部クラスを出来るだけ兄弟クラスにして
それらをファイル分けて名前空間もnamespace detail{}って押し込めたらいい
0026デフォルトの名無しさん
2012/07/01(日) 18:05:01.43ありがとうございました
0027デフォルトの名無しさん
2012/07/01(日) 22:06:54.39他人と共有しないならいいんじゃね?
0028デフォルトの名無しさん
2012/07/01(日) 22:10:03.92やり始めようと思ったのですが
色々言語があるらしく 自分の性格だと最初の部分で詰みそうで困ってます。
どうしたらよいですか?
0029デフォルトの名無しさん
2012/07/01(日) 22:18:54.520030デフォルトの名無しさん
2012/07/01(日) 22:20:08.110031デフォルトの名無しさん
2012/07/01(日) 23:13:37.08とりまクラス使ってみ
Cとの違いに驚くよ
0032デフォルトの名無しさん
2012/07/01(日) 23:17:39.52> 色々言語があるらしく
C++じゃねーのかよ?
0033デフォルトの名無しさん
2012/07/02(月) 00:38:19.94.=演算子がCにあったら->=演算子も作られていただろうね
C/C++言語は結構対称性を重視した設計になってるように見える(PDP-11の思想が
入り込んだんでしょうね)だからかな
68000にPDP-11の思想がそのまま受け継がれ、68000が乗ったPC(X68000等)の
Cコンパイラが吐くコードもまた綺麗だった
しかしシェアをIntelに奪われ今はColdfireだけになってしまった
8086に最初にCがインプリメントされた時にはレジスタの使用目的が固定されていたため
制約が多く、最適化に著しく不利だった
それにセグメントの問題でメモリモデルという面倒な概念を導入せざるを得なかった
80386になって大幅に制約が取り払われてようやくC言語が簡単にインプリメント出来る
ようになった、というか明らかにC言語を意識してるよねあの命令セット
x64でレジスタが倍増してさらにCコンパイラから見ると楽になったがREXプリフィックスは
お世辞にも綺麗とは言えない、だが互換性のためには仕方がない
0034デフォルトの名無しさん
2012/07/02(月) 14:13:53.33FlagsにQUOTA_LIMITS_HARDWS_MIN_DISABLE|QUOTA_LIMITS_HARDWS_MAX_DISABLEを
指定する場合と、
SetProcessWorkingSetSizeは同じですか?
両方ともソフトリミット?
0035デフォルトの名無しさん
2012/07/02(月) 14:34:03.08多分、Set〜Size(,,) とフラグを指定しない Set〜SizeEx(,,,0)は
フラグを変更しないんじゃないかな
0036デフォルトの名無しさん
2012/07/02(月) 17:02:51.90簡単なことにきがつかんかった。
すんません。
0037デフォルトの名無しさん
2012/07/02(月) 23:23:36.140038デフォルトの名無しさん
2012/07/02(月) 23:52:12.050039デフォルトの名無しさん
2012/07/03(火) 01:53:37.16これらの関数は書きこむバイト数を指定できますが、
その値を超える文字列を書きこもうとした場合の場合、正常に書き込まれるものの最後に\0が入りません。
さて、バッファのポインタとサイズが正常に指定されている場合、
文字数に関わらず、書き込み用バッファの最後に決め打ちで\0を突っ込むだけで十分に安全と考えて良いでしょうか。
大丈夫そうだとは思うのですが、何か問題があれば教えてください。
0040デフォルトの名無しさん
2012/07/03(火) 02:02:22.400041デフォルトの名無しさん
2012/07/03(火) 02:48:26.10また、1つのバッファを\0区切りで複数に分けたり、すでにある文字列を置換するような使い方はしない。
0042デフォルトの名無しさん
2012/07/03(火) 04:57:14.52struct Hoge
{
Hoge&& foo()
{
Hoge tmp(*this);
...
return std::move(tmp);
}
...
};
Hoge x;
Hoge y = x.foo();
できるだけコピー減らすためにこんな使い方をすべきなのかと思ったのだけど
これじゃやっぱりyのムーブコンストラクタの前に戻り値は破棄される?
素直に値返しにすべきだろうか
値返しにしたとしても関数の戻り値がrvalueになって
yのムーブコンストラクタを呼ぶっていう認識があっているかも聞きたい
0043デフォルトの名無しさん
2012/07/03(火) 06:55:15.45ttp://ideone.com/taMcy
gccだと戻り値最適化でムーブコンストラクタさえよばれないな
VCだとムーブコンストラクタは呼ばれた
0044デフォルトの名無しさん
2012/07/03(火) 07:54:05.49返り値はrvalue(より細かく言えばprvalue)だからそんな小細工いらないよ
0045デフォルトの名無しさん
2012/07/03(火) 08:06:33.53ムーブコンストラクタすら呼ばれないこともあるとは思わなかったけど
確かにそれで済むのか
いろいろメンバ追加してみたりしても呼ばないような最適化かけられてるようだし
下手なことすると最適化の邪魔してしまうのかな,これは
prvalueだとかxvalueだとかの区別がわかってないんでそっちも理解しようとしてみる
0046デフォルトの名無しさん
2012/07/03(火) 08:23:12.24邪魔というより危険。 >>42のコードもうまく動かない
何故ならtmpが解体されたあとにムーブコンストラクタが呼ばれるから
http://ideone.com/QTzeq
もしポインタを扱っていたら...?
0047デフォルトの名無しさん
2012/07/03(火) 09:46:06.04なるほど,やっぱり先に関数スコープ抜けた段階で破棄されちゃうんだね
ムーブコンストラクタに渡るのは不定値か
手元でやってたのがうまく行ってるように見えたり
どこが原因かわからない不整合があったりしてたんだけどすっきりした
コピーを作って(何かしら操作した後で)返すならやはり値返しが必要で
かつ最適化はかかるからコスト的にも気にすることはないと
0048デフォルトの名無しさん
2012/07/04(水) 22:38:43.010049デフォルトの名無しさん
2012/07/04(水) 22:42:23.770050デフォルトの名無しさん
2012/07/04(水) 22:52:03.764.4系じゃ使えないわ
0051デフォルトの名無しさん
2012/07/05(木) 00:16:46.870052デフォルトの名無しさん
2012/07/05(木) 00:19:55.70以御封
0053デフォルトの名無しさん
2012/07/05(木) 11:17:13.83tr1なんてない って言われた
0054デフォルトの名無しさん
2012/07/05(木) 17:46:05.670055デフォルトの名無しさん
2012/07/07(土) 17:11:38.80{
if( argc ) throw;
}
catch(...)
{
puts( "From Throw" );
}
MS C/C++ Optimized Compiler 9.0だとgotoに最適化されねぇのな。
糞だな。
0056デフォルトの名無しさん
2012/07/07(土) 22:18:11.310057デフォルトの名無しさん
2012/07/07(土) 22:21:57.710058デフォルトの名無しさん
2012/07/08(日) 13:42:28.29気をつけなければならないのはautoの扱いだけ?
0059デフォルトの名無しさん
2012/07/08(日) 14:13:25.250060デフォルトの名無しさん
2012/07/08(日) 14:43:33.140061デフォルトの名無しさん
2012/07/08(日) 20:44:44.650062デフォルトの名無しさん
2012/07/08(日) 21:06:26.030063デフォルトの名無しさん
2012/07/08(日) 21:18:02.440064デフォルトの名無しさん
2012/07/08(日) 21:33:50.710065デフォルトの名無しさん
2012/07/08(日) 21:37:06.070066デフォルトの名無しさん
2012/07/08(日) 21:40:14.470067デフォルトの名無しさん
2012/07/08(日) 22:02:14.94なんでorverrideキーワードがあっさり消えたんだよ
デフォルトstaticな処理系が現役だからに決まってるだろ
0068デフォルトの名無しさん
2012/07/08(日) 22:08:51.340069デフォルトの名無しさん
2012/07/08(日) 23:03:57.440070デフォルトの名無しさん
2012/07/08(日) 23:25:54.720071デフォルトの名無しさん
2012/07/08(日) 23:46:37.60なんかテンプレートっぽい
0072デフォルトの名無しさん
2012/07/08(日) 23:54:55.220073デフォルトの名無しさん
2012/07/09(月) 00:30:21.840074デフォルトの名無しさん
2012/07/09(月) 00:45:32.33厳密には要件を満たすようなchar_traits<charT>の特化版を用意しておけばどんな型でもとりあえずいいんだろうけど
0075デフォルトの名無しさん
2012/07/09(月) 00:52:29.570076デフォルトの名無しさん
2012/07/09(月) 01:10:45.80継承されないもの
コンストラクタ
コピーコンストラクタ
デストラクタ
代入演算子関数
friend属性
0077デフォルトの名無しさん
2012/07/09(月) 01:11:27.250078デフォルトの名無しさん
2012/07/09(月) 10:55:36.46「stdout」の記述も「std::stdout」となるような記述がありますが、
Borland C++で試した所、「std::stdout」は未定義でした。
普通に「stdout」とすれば問題なく使用できます。
本が誤っているのでしょうか?処理系の実装の違いでしょうか?
0079デフォルトの名無しさん
2012/07/09(月) 11:11:44.835.5.1なんか問題外だぞ
0080デフォルトの名無しさん
2012/07/09(月) 11:13:37.02> Borland C++で試した所、「std::stdout」は未定義でした。
> 普通に「stdout」とすれば問題なく使用できます。
上記はBorland C++ではなくVisual C++でした。
Borland C++の場合、いずれでもコンパイル時にエラーが出ます。
0081デフォルトの名無しさん
2012/07/09(月) 11:16:34.15> 5.5.1なんか問題外だぞ
5.5.1でした。
どこで最新版を入手できますか?
0082デフォルトの名無しさん
2012/07/09(月) 11:21:18.09BCCの無料版は5.5.1のみ
後は製品版のXE2とかに付属してる
IDEは金払わないと評価期間が終了すると使用不能になるけどBCCだけは使える
正式名称はEmbarcadero C++ 6.44
そのうちこちらにもプロテクト掛けられるかもしれないけど
俺は金払ってるから関係ない
来年からXE3が出て64bitもコンパイル出来るようになる(予定)
0083デフォルトの名無しさん
2012/07/09(月) 11:30:13.17ご丁寧にありがとうございました。
今後、所持する環境で余りにも差異があるようでしたら、
Embarcadero C++ 6.44の導入を検討します。
ANSI C++準拠謳っていたので不思議に思っただけだったので、
stdout等の識別子に関しては、
今は実装の違いと言うことで流しておきます。
0084デフォルトの名無しさん
2012/07/09(月) 11:49:57.76まだパンフ来てないけど
0085デフォルトの名無しさん
2012/07/09(月) 11:53:32.39#include <cstdio>
int main(void)
{
fprintf(std::stdout, "test\n");
return 0;
}
これなら通った
#include <cstdio>
int main(void)
{
fprintf(stdout, "test\n");
return 0;
}
つー事で準拠度を期待するならVCかgccにしとけ
0086デフォルトの名無しさん
2012/07/09(月) 11:53:40.33今はWindowsならVisual C++ Express, Linuxならclangがあるじゃん
両方とも無料だし
0087デフォルトの名無しさん
2012/07/10(火) 04:58:21.71ちょっと前のだったら教本に
Borlandのつかわれてる
0089デフォルトの名無しさん
2012/07/10(火) 21:40:10.61ちょっと前でも、2003年ごろからPlatform SDKと.Net Framework SDKで
コンパイラーがタダで手に入ってたのにな。
0090デフォルトの名無しさん
2012/07/10(火) 23:23:10.410091デフォルトの名無しさん
2012/07/12(木) 16:07:57.52printf("hoge=%s\n",hoge); //★
warning: format ‘%s’ expects type ‘char*’, but argument 2 has type ‘int’
になっちゃうけど、c_str()を呼ぶことなく使いたいので
どうしたらよいでしょうか
0092デフォルトの名無しさん
2012/07/12(木) 16:16:56.710093デフォルトの名無しさん
2012/07/12(木) 16:21:21.960094デフォルトの名無しさん
2012/07/12(木) 16:27:22.62あえてprintfにこだわりたい
0095デフォルトの名無しさん
2012/07/12(木) 16:29:54.43間違ってるんだからどうしようもない
0096デフォルトの名無しさん
2012/07/12(木) 16:31:08.450098デフォルトの名無しさん
2012/07/12(木) 17:03:05.53009995
2012/07/12(木) 17:25:38.990100デフォルトの名無しさん
2012/07/12(木) 18:20:56.12CかC++どっちかで統一しろよw
0101デフォルトの名無しさん
2012/07/12(木) 18:27:12.95%s ってわかってんだからconst char*にキャストしろよ
ってことだよ
0102デフォルトの名無しさん
2012/07/12(木) 18:33:29.430103デフォルトの名無しさん
2012/07/12(木) 19:26:19.490104デフォルトの名無しさん
2012/07/12(木) 19:55:17.830105デフォルトの名無しさん
2012/07/12(木) 21:07:25.260106デフォルトの名無しさん
2012/07/12(木) 21:09:52.20カンマオーバードライブ出来るのか
0107デフォルトの名無しさん
2012/07/12(木) 21:12:37.990108デフォルトの名無しさん
2012/07/12(木) 21:24:33.30Britz++がやってる
変態過ぎて感心する
0109デフォルトの名無しさん
2012/07/12(木) 21:30:29.000110デフォルトの名無しさん
2012/07/13(金) 00:33:57.28ガイドライン書かれてたろ理由を付けて
読んだ?
0111デフォルトの名無しさん
2012/07/13(金) 05:37:56.40ME C++に書いてある問題を理解していないのは論外だが
理解した上でどういう行動に出るかは好きにしたらいい
0112デフォルトの名無しさん
2012/07/13(金) 19:41:45.33するためのあらゆる方法を示すことに費やしている。(ところで、スコットの本
Effective C++の第3版が出たところだが、この本は前の版から完全に書き直されている。)
http://local.joelonsoftware.com/wiki/%E9%96%93%E9%81%95%E3%81%A3%E3%81%9F%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AF%E9%96%93%E9%81%95%E3%81%A3%E3%81%A6%E8%A6%8B%E3%81%88%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B
0113デフォルトの名無しさん
2012/07/13(金) 20:10:41.820114デフォルトの名無しさん
2012/07/13(金) 20:20:13.66あっEffective C++ 第3版も持っているんだった
今読んだら&&、||、, に関する項目は見つからず
More Effective C++ 第3版は洋書でも出ていない
日本語版のみ訳が酷すぎたので新装版が出ているだけ
さっさと出せゴラ(▼_▼メ)
0115デフォルトの名無しさん
2012/07/13(金) 21:13:04.740116デフォルトの名無しさん
2012/07/14(土) 11:02:12.52例えば標準のベクターの[]演算子は禁止してatのみを許したいといった感じで
0117デフォルトの名無しさん
2012/07/14(土) 11:05:18.200118デフォルトの名無しさん
2012/07/14(土) 11:14:39.63自前でメソッド機能用意してるなら、自分でなんとかしろとしか
0119デフォルトの名無しさん
2012/07/15(日) 15:07:09.82現在私はシューティングゲームを製作中で
オブジェクト(弾や敵、プレイヤー等)生成時に製造番号を振ってくれるクラスを作成したのですが
IDを解放する時に、std::listの挙動がおかしくなっていて、困っています。
IDの生成は各オブジェクトのコンストラクタで
IDの解放は各オブジェクトのデストラクタで呼び出しています。
改行が多いと言われてしまったので、次にコードを書きたいと思います。
場所をとってしまってすみません。
0120119
2012/07/15(日) 15:12:00.05//IDを生成するクラス
class ID_Factory
{
public:
//コンストラクタ
_ID_Factory(){}
public:
_//IDを生成する
_int CreateID();
_//IDを解放する
_void ReleaseID( int id );
//メンバ
private:
_std::list< int > active_id; //使用されているID
_std::queue< int > free_id; //開放されたID
};
0121119
2012/07/15(日) 15:13:15.60int ID_Factory::CreateID()
{
__//使いまわし可能なIDがある場合
__if( !free_id.empty() )
__{
____//先頭を取り出す
____int id = free_id.front();
____//先頭削除
____free_id.pop();
____//使用中のIDとして登録する
____active_id.push_back( id );
____return id;
__}
__//新たにIDを作成する必要がある場合
__else
__{
____//現在使用されているID数+1の値を次のIDとする
____int id = active_id.size() + 1;
____active_id.push_back( id );
____return id;
__}
}
//IDを解放する
void ID_Factory::ReleaseID( int id )
{
__free_id.push( id );
__active_id.remove( id );
}
0122119
2012/07/15(日) 15:14:07.88active_id.remove( id );
の直前にブレークポイントをつけて値を確認したところ
active_idの値が以下のようになっていました。
[0] 1 int
[1] 2 int
[2] -17891602 int
[3] CXX0030: エラーです: 式を評価できません
(error) 0 int
(error) 0 int
(error) 0 int
(error) 0 int
(error) 0 int
removeやeraseを使って、正常にノードの関連付けが行われない場合があるのでしょうか..?
連投すみませんでした。
0123デフォルトの名無しさん
2012/07/15(日) 15:44:01.19落ちる要素がメモリ不足以外にないし
まあこんなこだわった仕様にしなくてもゲームだったらIDは整数インクリメントして返すだけで十分だと思うよ
普通のゲームならシーンごとにIDリセットすれば32bitの整数を全範囲使いきることはまず不可能
0124デフォルトの名無しさん
2012/07/15(日) 15:56:23.660125デフォルトの名無しさん
2012/07/15(日) 15:59:10.340126デフォルトの名無しさん
2012/07/15(日) 15:59:13.72念のため聞いとくけど、スレッド使ってないよね?
0127119
2012/07/15(日) 16:04:27.54うーん、そうですか..
原因は今後探っていく事にして、とりあえず仕様変更する事にします。
確かに使いまわす必要もないので、インクリメントして使うようにします!
ありがとうございました。
0128119
2012/07/15(日) 16:08:19.01eraseでもコンパイルエラーは出ませんでしたが、removeと同様に落ちました
>>125
もっと監視する範囲を広げて確認してみます
>>126
スレッドは使っていません
0129デフォルトの名無しさん
2012/07/16(月) 02:55:00.87//word[i]は入力した文字列
int moji;
for (int i=0;i<=40;i++){
if(word[i] >= 0) moji = i-1; break;
}
これでword[i]の文字を一文字ずつずらして調べたんですが、条件がどうもうまくいかないみたいです。
0130デフォルトの名無しさん
2012/07/16(月) 03:37:45.99//word[i]は入力した文字列
int moji;
for (int i=0;i<=40;i++){
if(word[i] == 0){ moji = i-1; break; }
}
って感じか
ちゃんと\0入ってるか疑問だが
0131デフォルトの名無しさん
2012/07/16(月) 04:48:15.990132デフォルトの名無しさん
2012/07/16(月) 06:47:07.02break;したらi++はされないと思うんだな
0133129
2012/07/16(月) 14:13:18.26ありがとうございました。
0134デフォルトの名無しさん
2012/07/16(月) 19:26:15.81Release時に入力したIDが存在しないIDなんじゃないか?
そもそもIDなんのためにIDなんて使うんだ?
ディスクに保存する際の永続化にでも使うのか?
単に対象のオブジェクトを指すポインターで十分じゃないのか?
ポインターとsetの組み合わせの方が管理が楽だと思うぞ。
0135デフォルトの名無しさん
2012/07/16(月) 19:27:45.51通信
0136デフォルトの名無しさん
2012/07/16(月) 19:31:48.05boostとかのシリアライザー使ったら?
今の問題解決力じゃ難しいだろ
0137デフォルトの名無しさん
2012/07/16(月) 22:15:38.210138デフォルトの名無しさん
2012/07/16(月) 22:19:43.38動的片付け言語使ったら?
0139デフォルトの名無しさん
2012/07/16(月) 22:23:33.450140デフォルトの名無しさん
2012/07/17(火) 09:11:24.33MSの中の人にお願い
このビデオ翻訳して欲しいお(´・ω・`)
0141デフォルトの名無しさん
2012/07/18(水) 09:49:09.19テキスト処理とかめんどい事はルア使ってんだが
0142デフォルトの名無しさん
2012/07/18(水) 14:02:39.82他のスレッドから切り替えさせる方法はありませんか?
0143デフォルトの名無しさん
2012/07/18(水) 14:13:01.440144デフォルトの名無しさん
2012/07/18(水) 14:26:29.26簡単だよ〜
IronPythonってやつ便利だぜ
0145デフォルトの名無しさん
2012/07/18(水) 16:15:54.03何をやろうとしてるの?
0146デフォルトの名無しさん
2012/07/18(水) 23:09:29.860147デフォルトの名無しさん
2012/07/19(木) 11:46:58.30どっかにコピペ可能なサンプルある?
なきゃ諦めてチマチマ作るしかないんだけど
0148デフォルトの名無しさん
2012/07/19(木) 12:30:03.75マシンのスペック
0149142
2012/07/19(木) 13:20:46.58SetTimerはメッセージポンプ(?)が、
QueueUserAPCはSleepExなどが関数を呼び出しているだけみたいなので
それを別スレッドからやるのは難しそうです。
なんとかSwitchToFiberを他のスレッドからやらせられないでしょうか。
0150デフォルトの名無しさん
2012/07/19(木) 13:46:38.37WndProcを処理しなければならないスレッド中に
数秒制御が返ってこない関数(Dialog以外)を含ませるのは設計が微妙なキガス
0151デフォルトの名無しさん
2012/07/19(木) 14:10:23.77まじめにスレッド化した方がいいんじゃないの?
0152デフォルトの名無しさん
2012/07/19(木) 14:29:25.57数秒制御が返ってこない関数を別スレッドで動かせない?
普通はそうするんだけど。
"処理中"ダイアログを出したり、キャンセルや一時停止出来るようにするために
0153142
2012/07/20(金) 13:05:05.84(VBスレで盛り上がってる者ではないです)
数秒制御が返ってこない関数はいじれません。
別スレッドで試しましたが、落ちてしまいました。
一応見つけました。
http://www.gamedev.net/topic/590162-how-to-switch-fibre-from-a-thread/
敷居高いですが、この方法しかないようであれば、がんばってみます。
SetTimerやQueueUserAPCに割り込ませる方法も、引き続き募集中です。
0154デフォルトの名無しさん
2012/07/20(金) 16:05:13.52数々の地雷を埋め込んだプログラムになりそうな予感がする
0155デフォルトの名無しさん
2012/07/20(金) 18:13:23.80スレッド(キュー)指定可能なGetMessageでも無いとWndProcの処理は出来ないと思うけど
0156デフォルトの名無しさん
2012/07/20(金) 18:17:07.500157デフォルトの名無しさん
2012/07/20(金) 20:42:33.860158デフォルトの名無しさん
2012/07/22(日) 02:49:28.85を直すほうがずっとまともな解決策だと思う。
0159デフォルトの名無しさん
2012/07/22(日) 23:09:44.74そのままintやfloatに入れようとするとやっぱりエラー…
0160デフォルトの名無しさん
2012/07/22(日) 23:21:49.460161デフォルトの名無しさん
2012/07/22(日) 23:21:56.60std::vector<int>foo = bar;
int hage = * foo.begin();
int hoge = foo.at(1);
何がどうエラーだといいたいのだろう……
0162デフォルトの名無しさん
2012/07/22(日) 23:25:33.710163デフォルトの名無しさん
2012/07/22(日) 23:43:09.80>std::vector<int>foo = bar;
この時点でコンパイルエラーだろう
0164デフォルトの名無しさん
2012/07/23(月) 01:52:57.58std::vector<int> foo(bar, bar + 3);
で。
0165デフォルトの名無しさん
2012/07/23(月) 02:04:13.65特に何もないけど
本当にそこでエラーが出るのか?
てかエラーの内容を書けよ
0166デフォルトの名無しさん
2012/07/23(月) 03:33:35.360167デフォルトの名無しさん
2012/07/23(月) 10:47:01.30いろんな意味でC++11は気持ち悪いけど使っているうちによく改良されていると思えてきた
#include <vector>
#include <iostream>
#include <iterator>
int main()
{
std::vector<double> d = {1.0, 2.0, 3.0};
for (double& x : d)
std::cout << x << ' ';
std::cout << std::endl;
std::initializer_list<int> il = {4, 5, 6};
std::vector<int> i(il);
for (int& x : i)
std::cout << x << ' ';
std::cout << std::endl;
}
0168デフォルトの名無しさん
2012/07/23(月) 11:18:26.740169デフォルトの名無しさん
2012/07/23(月) 11:38:34.47と思ってしまった私も最早……
0170デフォルトの名無しさん
2012/07/23(月) 11:45:59.870171デフォルトの名無しさん
2012/07/23(月) 16:14:12.01doubleで表現可能なすべての実数を生成するアルゴリズムを教えてください。
0172デフォルトの名無しさん
2012/07/23(月) 16:27:46.15doubleとして有効かどうかを判定する方法を教えて
0173デフォルトの名無しさん
2012/07/23(月) 16:33:34.12http://ja.wikipedia.org/wiki/IEEE_754
0174デフォルトの名無しさん
2012/07/23(月) 16:36:23.780175デフォルトの名無しさん
2012/07/23(月) 23:23:54.34でもそれって一様乱数じゃないよね
0176デフォルトの名無しさん
2012/07/24(火) 08:53:37.61でも「doubleで表現可能なすべての実数を生成」するほど周期が長い擬似乱数発生器
なんてないんじゃないか?
0177デフォルトの名無しさん
2012/07/24(火) 09:38:27.61一様乱数なバイト列ならdouble表現にしても
符号部,仮数部,指数部どれも一様になる気がするけどならないの?
0178デフォルトの名無しさん
2012/07/24(火) 09:42:12.10そもそも全doubleが一様分布じゃないでしょ
0179デフォルトの名無しさん
2012/07/24(火) 09:44:10.23周期は半分になるけど大差ないでしょ
0180デフォルトの名無しさん
2012/07/24(火) 09:46:19.44指数部と仮数部をランダムにするだけでいいの?
0181デフォルトの名無しさん
2012/07/24(火) 09:52:40.50どういうこと?
上で出てるisnan,isinfや-0を除外する話でなく?
0182デフォルトの名無しさん
2012/07/24(火) 09:58:37.06小さな数は密で大きな数は粗
0183デフォルトの名無しさん
2012/07/24(火) 10:04:02.03(-1)^s * 2^e * (1 + m/2^N)
指数部eが一つ増えると仮数部mが一つ増えた時の実数としての増え方が二倍違ってくる
要は指数部があるから一様にはなっていない
>>182の通り
0184デフォルトの名無しさん
2012/07/24(火) 10:05:56.92指数部が一様なら変わらないんじゃないの?
有効桁数が一様かどうかに関わってくるとは思えないけど
0185デフォルトの名無しさん
2012/07/24(火) 10:12:09.741~10を1024等分して、10~100も1024等分して、100~1000も1024等分して・・・
0186デフォルトの名無しさん
2012/07/24(火) 10:14:15.910187デフォルトの名無しさん
2012/07/24(火) 10:16:03.83だから、それがdoubleでの一様になるんじゃないの?
0188デフォルトの名無しさん
2012/07/24(火) 10:16:29.11そうか、ならばもう何も言うまい
0189デフォルトの名無しさん
2012/07/24(火) 10:16:55.68double用のメルセンヌ・ツイスタがあるよ
でも全部の表現を出すのは無理だろう
http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MTGP/index-jp.html
0190デフォルトの名無しさん
2012/07/24(火) 10:34:07.19double下限〜double上限の範囲内の実数(double表現不可含む)の中で
一様分布なら>>182-183の言う通り>>172では駄目
ってことだな
0191デフォルトの名無しさん
2012/07/24(火) 11:12:15.120192デフォルトの名無しさん
2012/07/24(火) 12:20:43.750193デフォルトの名無しさん
2012/07/24(火) 12:51:59.68固定小数点数として乱数を求めればOK。
0194デフォルトの名無しさん
2012/07/24(火) 14:19:02.99doubleが表現できる範囲=doubleの全ビットパターン なら可能だろ
0195デフォルトの名無しさん
2012/07/24(火) 14:22:41.76それは一様じゃねー、って言ったばっかだろ
0196デフォルトの名無しさん
2012/07/24(火) 14:23:54.35>190を理解できていないのか?
0197デフォルトの名無しさん
2012/07/24(火) 14:28:19.84ビットパターンに対する一様と実数に対する一様を混同すんな
0198デフォルトの名無しさん
2012/07/24(火) 14:45:57.41最初からそう言ってるだろ
0199デフォルトの名無しさん
2012/07/24(火) 15:07:50.03最初ってどれだよ
「doubleが表現できる範囲」なんていう曖昧なレスのことか?
0200デフォルトの名無しさん
2012/07/24(火) 15:10:32.65乱数を生成してdoubleで返す関数ってこんな感じ?
何かすごく大きい数ばかりになる気が。
http://ideone.com/A5qYy
0201デフォルトの名無しさん
2012/07/24(火) 16:05:38.000202デフォルトの名無しさん
2012/07/24(火) 16:15:37.960203デフォルトの名無しさん
2012/07/24(火) 16:22:35.72欲しい乱数の分布が 等間隔でない上の集合で一様であってほしいのか
0〜DBL_MAX の連続した実数区画で (double が表現できない箇所を含む)一様であってほしいのか
0204デフォルトの名無しさん
2012/07/24(火) 16:39:36.23そういう話だろうね
0205デフォルトの名無しさん
2012/07/24(火) 16:40:58.19区別して話さないとワケワカメ
>>200
99%が1.79E+306以上になるわけだし
0206デフォルトの名無しさん
2012/07/24(火) 16:47:57.910207デフォルトの名無しさん
2012/07/24(火) 17:39:24.990208デフォルトの名無しさん
2012/07/24(火) 22:07:56.920209デフォルトの名無しさん
2012/07/24(火) 23:24:30.38char ***ptrrr;
ptrrrr = &ptrr;
した場合、
*ptrrrはptrrのアドレスですよね。
0210デフォルトの名無しさん
2012/07/24(火) 23:42:45.48とかすれば
charH ptrr;
charH* ptrrr;
ptrrr = &ptrr;
*ptrrr:ptrrの値
0211デフォルトの名無しさん
2012/07/25(水) 01:12:26.63ptrrrがptrrのアドレス
*ptrrrはptrrへの参照であり
*ptrrrとptrrはほぼ同じものとして使える
0212200
2012/07/25(水) 10:17:43.86両方書いてみた。乱数品質はとりあえず無視してるけど。
http://ideone.com/WJ9i3
0213203
2012/07/25(水) 20:01:56.53例:
理想上での 1〜99 の一様乱数Aを
非等間隔の数列B { 1,2,3,4,5,6,7,8,9, 10,20,30,40,50,60,70,80,90 }
に写すことを考える
(A:10〜19 を B:10 へ)
{ 10,20,30,40,50,60,70,80,90 } のほうが { 1,2,3,4,5,6,7,8,9 } より出現頻度多くならないといけないのでは?
これが double の数値世界でも、おきないといけないんじゃない? ということです
0214デフォルトの名無しさん
2012/07/25(水) 20:44:40.28初期入力値がよくない(1,2,3,4,...)とかしか思いつかないのですが、それがわかってれば
AVL木とかを実装しなくても普通の木でinsertの際にばらけさせるとかすると回避出来るし、
あとは人工的な問題なら思いつくのですが、自然なやつを思いつけません。
どうかお願いします。
0215デフォルトの名無しさん
2012/07/25(水) 21:12:47.53挿入だけだったらそうかもしれないが、削除があったらまず無理
それに挿入の時に掛かるコストが平衡木を作るのと同じくらい掛かるようだったら
無意味
0216216
2012/07/25(水) 21:33:30.39int map_one[10][10] = {
//中身は0,1,2のどれかが10×10
}
int map_two[10][10] = {
//中身は0,1,2のどれかが10×10
}
int map_three[10][10] = {
//中身は0,1,2のどれかが10×10
}
std::vector<int> StageList;
int StageId = 0 //0,1,2のどれか
StageList.push_back(map_one[10][10]);
StageList.push_back(map_two[10][10]);
StageList.push_back(map_three[10][10]);
0217216
2012/07/25(水) 21:34:14.69for(int i = 0; i<10; i++){
switch(stageList[StageId][j][i]){ //ここでエラー
case 0: //床
//ここに描画関数
break;
case 1: //壁
//ここに描画関数
break;
case 2: //セット床
//ここに描画関数
break;
}
}
}
vector内にある3つの二次元配列をStageIdの値でアクセスして処理を行いたいのですが
書き方がよくわかりません。どのように書けばよいのでしょうか?
windowsXP SP3
VC++2008
おねがいします。
0218デフォルトの名無しさん
2012/07/25(水) 21:38:58.88std::vector<int> StageList;
int StageId = 0 //0,1,2のどれか
StageList.push_back(map_one[10][10]);
これコンパイル通った?
0219デフォルトの名無しさん
2012/07/25(水) 21:39:51.33でもmap_one[9][9]までだろ
変なところをアクセスしてるぞ
0220デフォルトの名無しさん
2012/07/26(木) 01:00:48.24そのソースどおりだと 's'tageList なんて変数はないよ、ってエラーのはずだが
そこはスルーなら
std::vector<int (*)[10]> StageList;
StageList.push_back(map_one);
0221デフォルトの名無しさん
2012/07/26(木) 02:08:15.11それだと配列そのものがpushされるのではなく、配列へのポインタがpushされるわけだよね
もちろん3次元配列のようにして書けるけど、もし配列の中身ごとpushしようとしたら
配列をクラスで包み、コピーコンストラクタを書かなければならない
そしてクラスにしてしまうと配列演算子がまともに働かなくなってしまうので、プロキシクラス
を使って仮想的にメンバの多次元配列にアクセスさせる事になる
なんかスマートじゃないよね
C++11のarrayならうまく行くのかな?ヘッダファイルを見てみたら既にプロキシクラスが書かれて
いるし、arrayはコンテナとしての要件を満たしているのでコピーコンストラクタも備えられている
これならpush出来る
多分相手がクラスだとムーブコンストラクタは働かないだろう
0222デフォルトの名無しさん
2012/07/26(木) 02:28:24.380223デフォルトの名無しさん
2012/07/26(木) 09:47:22.49追加,削除,範囲検索(x〜yの期間,zzの文字で始まる,等)を何度も行う場合
索引とか?
0224デフォルトの名無しさん
2012/07/26(木) 12:01:02.47おそらく一時オブジェクトだと勝手にムーブコンストラクタを使ってくれるだろう
const int ROW = 10, COLUMN = 20;
template <std::size_t ROW, std::size_t COLUMN>
using A = std::array<std::array<int, COLUMN>, ROW>;
int main()
{
A<ROW, COLUMN> a1;
std::vector<A<ROW, COLUMN>> v;
a1[1][19] = 123;
v.push_back(a1);
std::cout << a1[1][19] << std::endl;
std::cout << v[0].at(1).at(19) << std::endl; // ROWとCOLUMNの順番が正しいか確認
a1[1][19] = 456;
std::cout << a1[1][19] << std::endl;
std::cout << v[0][1][19] << std::endl;
}
0225デフォルトの名無しさん
2012/07/26(木) 15:23:31.55出力は頭のほうにする?ケツのほうにする?
bool getUnko( int *output, int input );
bool getUnko( int input, int *output );
おれは頭の方がいいと思う。なんとなく。
0226デフォルトの名無しさん
2012/07/26(木) 15:34:29.21stat(const char *path, struct stat *buf);
ケツ
0227デフォルトの名無しさん
2012/07/26(木) 15:46:29.67あ、頭だ。
0228デフォルトの名無しさん
2012/07/26(木) 16:06:35.27func(output, input1, input2, .... ) input1, input2, .... を使って output を作るよ
(C言語で)ハンドル+操作関数の場合は ハンドルは頭に置きたいけど
0229デフォルトの名無しさん
2012/07/26(木) 16:20:12.12頭の方にoutputがあるニコチャン大王方式にするわ
0230216
2012/07/26(木) 18:52:21.45とりあえずvector自体まだよくわかってないみたいなので
参考にしながら色々試します。
ありがとうございました。
0231デフォルトの名無しさん
2012/07/26(木) 23:12:41.63gnu indentやastyleでは出来ませんでした
0232デフォルトの名無しさん
2012/07/27(金) 02:08:49.46イミフ
0233142
2012/07/27(金) 10:22:14.77他のスレッドから切り替えさせられないか質問した者です。
SuspendThreadとSetThreadContextでeipを書き換えて、
別の行に飛ばすことによって、SleepExやSwitchToFiberを
実行することに成功しました。
�@SetThreadContextでeipを書き換えても、その行に飛ばないことがある。
「SuspendThreadはカーネルモードを止められない」
「Get/SetThreadContextはカーネルモードのレジスタを扱えない」ことが
原因のようで、カーネルモードであるかどうかを判定する方法を
知りたいです。
�A実行したい関数やファイバ情報などをecxなどに入れても
ResumeThread直後に違う値に書き換わっていることがある。
0234デフォルトの名無しさん
2012/07/27(金) 11:29:03.180235デフォルトの名無しさん
2012/07/27(金) 12:42:24.86半タブってのは、半分のタブという意味です。
0236デフォルトの名無しさん
2012/07/27(金) 13:00:40.22エディタの機能とかじゃないのか?
0237デフォルトの名無しさん
2012/07/27(金) 13:05:03.610238デフォルトの名無しさん
2012/07/27(金) 14:47:58.480239デフォルトの名無しさん
2012/07/27(金) 15:13:35.79case 1:
printf("hello\n");
break;
}
if(a==1){
printf("hello\n");
}
こういうやつ
0240デフォルトの名無しさん
2012/07/27(金) 15:18:27.440241デフォルトの名無しさん
2012/07/27(金) 18:25:12.930242デフォルトの名無しさん
2012/07/28(土) 16:58:25.870243デフォルトの名無しさん
2012/07/28(土) 21:08:25.74良い方法が思いつかなくて困っています。 教えてください。
↓の用になっているINIファイルのデータを使用する
[test] //セクション名
x = 100
y = 200
no = 1
INIから取得したデータを↓のクラスに設定する
class TEST{
public:
int x;
int y;
int y;
TEST(); //INIから情報を取得してメンバに設定する
};
0244デフォルトの名無しさん
2012/07/28(土) 21:10:12.000245デフォルトの名無しさん
2012/07/28(土) 21:14:52.39boost::property_tree
0246デフォルトの名無しさん
2012/07/28(土) 21:21:09.17ぜんぜん違うことを書いていました(汗)。
INIの中身は243のような形ではなく、↓のようになります。
[test]
val = [111,222,1][333,444,2][555,666,3]
val部分の[ ]の中身を取り出しクラスに設定する。
中身の意味は[x,y,no]となり、243で記述したクラスのメンバと対応しています。
なぜ[]が複数あるかというと
クラスの配列を作って使用するためです。
左からクラス1、クラス2、クラス3に設定するデータとなります。
このデータを切り出してクラスに設定する方法を教えてください。
お願いします。
0247デフォルトの名無しさん
2012/07/28(土) 21:24:36.12strtokとか知らんのか
0248デフォルトの名無しさん
2012/07/28(土) 21:30:23.200249デフォルトの名無しさん
2012/07/28(土) 21:30:42.520250デフォルトの名無しさん
2012/07/28(土) 21:30:46.62GetPrivateProfileStringでChar*変数にデータを取得して、
strtocで切り分けようとしましたが、
ポインタの内容が書き換わってしまうためうまくいきませんでした。
なので、うまい事結果が出てくれる方法を探しています。
0251デフォルトの名無しさん
2012/07/28(土) 21:35:54.880252デフォルトの名無しさん
2012/07/28(土) 21:38:31.460253デフォルトの名無しさん
2012/07/28(土) 21:40:58.31別のバッファを , で切り出し @strtok →各要素へ
0254デフォルトの名無しさん
2012/07/28(土) 21:44:55.650255デフォルトの名無しさん
2012/07/28(土) 21:49:45.83→コンパイラを子プロセスで呼び出してDLLを作らせる
→LoadLibrary
→値取り出す
→FreeLibrary
→ファイル削除
0256デフォルトの名無しさん
2012/07/28(土) 22:26:10.31iniってことは使用者に弄らせることが前提なのかい?
弄らせる気ならどうぞお好きなようにだけど、
そうでなきゃ例えば[]の数とかも
冒頭に書いておいておけばずっと楽じゃん……
0257デフォルトの名無しさん
2012/07/29(日) 12:42:05.78頑張って教えてやれよ・・・
0258デフォルトの名無しさん
2012/07/29(日) 12:53:18.190259デフォルトの名無しさん
2012/07/29(日) 15:50:08.030260デフォルトの名無しさん
2012/07/29(日) 16:11:59.42Windows環境ならそれでいーんじゃねーの?
(ただしそれ以外の手段の方が楽だって可能性もある)
0261デフォルトの名無しさん
2012/07/29(日) 16:27:37.960262デフォルトの名無しさん
2012/07/29(日) 20:09:38.400263デフォルトの名無しさん
2012/07/29(日) 20:42:53.73ったく、気の利かん社畜やな〜
0264デフォルトの名無しさん
2012/07/30(月) 00:12:49.21ttp://ideone.com/eiSC5
0265sage
2012/07/30(月) 09:52:57.28vector<int> v;
v.push_back(1);
v.push_back(1);
v.push_back(1);
こんな感じで1が3個入ってるときに、1個だけ削除したい。
int rem = 1;
remove(v.begin(), find(v.begin(), v.end(), remove) + 1, rem);
でいけるかと思ったけど、1個も消えません。
STLややこしすぎ。。。
0266sage
2012/07/30(月) 09:54:33.43remove(v.begin(), find(v.begin(), v.end(), rem) + 1, rem);
0267sage
2012/07/30(月) 09:59:31.39で削除できました。何でこんな風になってんだろ
0268デフォルトの名無しさん
2012/07/30(月) 10:05:18.06v.erase(v.begin());
0269デフォルトの名無しさん
2012/07/30(月) 10:18:37.540270デフォルトの名無しさん
2012/07/30(月) 10:46:17.850271デフォルトの名無しさん
2012/07/30(月) 11:19:00.530272デフォルトの名無しさん
2012/07/30(月) 12:12:51.55アルゴリズムにできるのはイテレータの操作だけでコンテナの操作はできないから
0273デフォルトの名無しさん
2012/07/30(月) 15:06:06.20class A{
....
}
A* cls[10];
A** pcls;
この時のclsは10要素持っていますが、プログラム中でそれは増えていく予定で、
現在の要素数を数えるために sizeof を使おうと思っています。
要素数 = sizeof(cls[0]) / sizeof(cls);
これはうまくいくのですが、pcls を使用すると、そもそもそのA**のサイズが帰ってきてしまい、要素数がわかりません。
pclsを使用して、要素数を知ることはできませんか?
要素数にならない = sizeof(pcls[0]) / sizeof(pcls);
0274デフォルトの名無しさん
2012/07/30(月) 15:09:33.57std::vectorかboost::ptr_vectorに入れろよ
ポインタに入れたら数が増減しても自分で管理しないと
分かるわけない
0275デフォルトの名無しさん
2012/07/30(月) 15:18:43.37配列のサイズはプログラマが管理する
別の整数変数にサイズをメモしておこう
そして勉強中ならともかく普通はvecterを使うよ
0276デフォルトの名無しさん
2012/08/02(木) 15:10:59.31<cstdlib> みたいな指定ってどうやんの?
0277デフォルトの名無しさん
2012/08/02(木) 16:08:20.690278デフォルトの名無しさん
2012/08/02(木) 16:11:56.26C++標準ではないインクルードファイルはそのまま使えばよろし。
>>277
四捨五入にも二種類あるので、どのタイプの四捨五入を行いたいかはっきりさせるのが第一歩。
それが負の数に対しても拡張できるか、拡張するとしたらどうするべきかをはっきりさせるのがその次。
0279デフォルトの名無しさん
2012/08/02(木) 16:13:42.58二種類ってなんだよ
0280デフォルトの名無しさん
2012/08/02(木) 16:29:25.38後者はJIS丸めとも言う。
0281デフォルトの名無しさん
2012/08/02(木) 16:37:39.43Wikipediaでも見ながら実装考えるべきじゃないかな
ceil,floorそのままじゃダメな場合とか普通にあるし
ちなみに>>280の「銀行屋の四捨五入」とは実質五捨五入のこと。詳しくはググれ
0282デフォルトの名無しさん
2012/08/02(木) 20:04:23.80ありがとう。
C++はなにが標準かよくわかんないよな。一覧とかないし。
0283デフォルトの名無しさん
2012/08/02(木) 20:08:52.310284デフォルトの名無しさん
2012/08/02(木) 20:12:34.29特別な指定をしているわけではない
0285デフォルトの名無しさん
2012/08/02(木) 20:42:18.99ならば 今すぐ愚民ども全てに叡智を授けてみせろ!
0286デフォルトの名無しさん
2012/08/02(木) 20:57:46.49ほしけりゃさがして来い。そこにCPPの全てを置いてきた(ドンッ)
0287デフォルトの名無しさん
2012/08/02(木) 21:05:04.291, 正の無限方向に倒す
2. 負の無限方向に倒す
3. 0を境に正の無限、負の無限方向に倒す
幾何系だと3を使うことが割と多い
0288デフォルトの名無しさん
2012/08/02(木) 21:08:45.51絶対値をとって丸めた後、元の負号を復活 ですかな <3番目
0289デフォルトの名無しさん
2012/08/02(木) 21:39:32.492はねーよ。1.5が1になるのは四捨五入じゃねーわ。
0290デフォルトの名無しさん
2012/08/03(金) 01:12:21.063だけ普通の四捨五入な気がする
1.5→2、2.1→2、-1.5→-2、-2.1→-2
つまりfabsして0.5足してからint型にキャストして符号戻せばいいんじゃ……
0291デフォルトの名無しさん
2012/08/03(金) 02:35:49.360292デフォルトの名無しさん
2012/08/03(金) 02:38:27.84偶数丸め自体は知ってたが、五捨五入って言い方もあるのね。勉強になった。
0293デフォルトの名無しさん
2012/08/03(金) 05:54:01.55+0.9して切り捨てたら0だろ
とかいうやつが後を絶たないのはなんとかなりませんか
0294デフォルトの名無しさん
2012/08/03(金) 09:49:38.880295デフォルトの名無しさん
2012/08/03(金) 17:14:09.15struct egg {
int number;
egg(int num) : number(num) {};
};
egg* lay(int num);
};
egg* bird::lay(int num) {
egg* o = new egg(num);
return o;
}
int main()
{
bird b;
return 0;
}
これをコンパイルすると以下のエラーがでます。構造体の中で定義するとコンパイル通るのですが、
外に出すとだめです。どうすれば外で定義できますか?
test.cpp:8: error: expected constructor, destructor, or type conversion before '*' token
0296デフォルトの名無しさん
2012/08/03(金) 17:23:44.36とか。試してないけど。
0297デフォルトの名無しさん
2012/08/03(金) 17:28:19.32テンプレートだと上手くいきません。(後出しとか言わないで、、、)
template <class T>
struct bird {
struct egg {
T number;
egg(T num) : number(num) {};
};
egg* lay(T num);
};
template <class T>
bird<T>::egg* bird<T>::lay(T num) {
egg* o = new egg(num);
return o;
}
int main()
{
bird<int> b;
return 0;
}
0298デフォルトの名無しさん
2012/08/03(金) 17:42:31.36template <class T>
typename bird<T>::egg* bird<T>::lay(T num)
{
}
0299デフォルトの名無しさん
2012/08/03(金) 17:47:13.88ありがとうございました。
0300デフォルトの名無しさん
2012/08/03(金) 17:56:29.13bird::egg(::が中に入っているやつ)が、型名なのか変数なのかコンパイラは分からないからですね。
0301デフォルトの名無しさん
2012/08/04(土) 17:53:18.130302デフォルトの名無しさん
2012/08/04(土) 18:19:37.93Linuxじゃ無理かな
0303デフォルトの名無しさん
2012/08/04(土) 18:22:16.740304デフォルトの名無しさん
2012/08/04(土) 21:05:12.190305デフォルトの名無しさん
2012/08/04(土) 22:27:30.97どうしてそんないじわるを!
どうしたらいいのか・・・
0306デフォルトの名無しさん
2012/08/04(土) 22:48:27.890307デフォルトの名無しさん
2012/08/05(日) 01:45:00.59arg[0] じゃだめなの?
0308デフォルトの名無しさん
2012/08/05(日) 01:53:55.69./a.out 見ていったい何わかると言うのか
思い出のほかに何が残るというのか
0309デフォルトの名無しさん
2012/08/05(日) 04:26:09.40これって仕様なんですか?
また、変数、関数を別名にする以外の対処法があったら教えて下さい。
例:
class test {
int hoge;
public:
int hoge();
};
0310デフォルトの名無しさん
2012/08/05(日) 04:52:20.300311デフォルトの名無しさん
2012/08/05(日) 09:16:23.15そんなもんCですら重複したらエラー吐くってのに……
#include <stdio.h>
int hoge=3;
int hoge(void) {
return 42;
}
int main() {
printf("%d",hoge());
return 0;
}
0312デフォルトの名無しさん
2012/08/05(日) 09:42:42.33void hoge(){}
int main(){
int i = hoge;
void (*p)() = hoge;
return 0;
}
0313デフォルトの名無しさん
2012/08/05(日) 11:02:47.50まじですか・・・
C言語結構やってたのに全然知らなかった。 恥ずかしい・・
けどなんか納得いかない。 変数名と関数名が被っちゃいけないなんて。
0314デフォルトの名無しさん
2012/08/05(日) 11:07:33.87hoge()はどっちを使えというのだい?
0315デフォルトの名無しさん
2012/08/05(日) 11:12:21.36多分、>>313は>>312も>>314も理解出来て無いと思われる。
0316デフォルトの名無しさん
2012/08/05(日) 11:18:36.43#include <stdio.h>
void hoge1()
{
puts("hogehoge");
}
void hoge2()
{
puts("hoge×2");
}
int main(){
void (*p)() = hoge1;
p();
p = hoge2;
p();
return 0;
}
0317デフォルトの名無しさん
2012/08/05(日) 11:35:19.890318デフォルトの名無しさん
2012/08/05(日) 11:40:05.520319デフォルトの名無しさん
2012/08/05(日) 11:42:14.24型定義で関数も変数もみんな同列で扱える仕様だからな。
まあ、そこまで使いこなす必要は、あまり無いかもしれんけど。
0320デフォルトの名無しさん
2012/08/05(日) 11:50:02.89void hoge1()
{
puts("hoge");
}
void hoge2()
{
puts("hogehoge");
}
int main(array<System::String ^> ^args)
{
void (*p[])() = {hoge1,hoge2};
p[0]();
p[1]();
return 0;
}
0321デフォルトの名無しさん
2012/08/05(日) 11:52:33.49間違えた。
×>int main(array<System::String ^> ^args){
○>int main(){
というか、今、.netの勉強中だったからなぁ・・・・
0322デフォルトの名無しさん
2012/08/05(日) 11:52:59.810323デフォルトの名無しさん
2012/08/05(日) 11:54:48.65セスナ乗ったことすら無いのに戦闘機乗ろうとしてるようなもんだぞ
0324デフォルトの名無しさん
2012/08/05(日) 11:59:40.26セスナとモーターボートほど無関係だろ
共通点はエンジンで動くという点だけ
この例えもおかしいけど
0325デフォルトの名無しさん
2012/08/05(日) 12:06:43.64一部のキーワードがかぶらない限りはC++のコードをそのまま使える
0326デフォルトの名無しさん
2012/08/05(日) 12:16:41.70#include <string.h>
#include <conio.h>
using namespace System;
void hoge1()
{
puts("hoge");
}
void hoge2()
{
puts("hogehoge");
}
int main()
{
void (*p1[])() = {hoge1,hoge2},(*p2[2])();
int p3[2];
memcpy(p3,p1,sizeof(p3));
printf("%d,%d\n",p3[0],p3[1]);
memcpy(p2,p3,sizeof(p3));
p2[0]();
p2[1]();
return 0;
}
変数と関数の名前空間が同一なのは、C ならばある程度説明がつくかも。
>>312
http://codepad.org/WUGSXc8Z
変数hoge も関数 hoge() も extern。したがってオブジェクトとしての属性のひとつにアドレスを持つ。
同じアドレスで違うものは確保できないからエラーになる。
じゃあ片方を static にすれば大丈夫か?というと、大丈夫ではなくてやっぱりエラーなんだけれども。
こういうのは名前空間が違うからOKらしい。
0329デフォルトの名無しさん
2012/08/05(日) 12:47:48.39p1に入ってる関数ポインタを、p2に入れて変数としてアドレスを表示し、
さらにp2の内容をp3の関数ポインタに入れ直して関数ポインタとして実行。
これが何故正常に動くのかは素人には分からんだろうな。
0330デフォルトの名無しさん
2012/08/05(日) 12:50:51.91p2とp3が逆だったw
0331デフォルトの名無しさん
2012/08/05(日) 13:28:27.32int型とポインタが同じメモリーサイズだという常識から説明しないと分からんだろ。
16ビットの頃のsizeof(int)は2だし、64ビットでコンパイルするとsizeof(int)は8になる。
0332309
2012/08/05(日) 13:43:33.14int hoge() {}
int hoge;
int main(void)
{
return 0;
}
これでエラーが起きるのは、
同一のメモリ領域にhoge()の実態のアドレスを指すhogeが暗黙的に定数(書き換えできない変数?)として存在しているから。
という理解でいいでしょうか?
0333デフォルトの名無しさん
2012/08/05(日) 13:48:36.590334デフォルトの名無しさん
2012/08/05(日) 13:50:03.24ちょっと考えてみたけどわからないので解説お願いします。
0335デフォルトの名無しさん
2012/08/05(日) 14:09:11.6364ビットWindowsはsizeof(int)==4です
フォーマルな理由としては「静的なオブジェクト(代表的には static 変数および extern 変数)と関数は同じ名前空間に属する」と表現するしかなかったのでは。
インフォーマルな理由付けはいろいろあると思いますけど、とりあえず頭ごなしに関数と静的オブジェクト(代表的には static 変数および extern 変数) とは同じ名前にできないものだ、とするしかないと思います。
慣用みたいなものかもしれない。
今まで挙がっていたのはインフォーマルな表現ですが、フォーマルな言質しか認めない、ポリティカルコレクトネスでがんじがらめにするのがお好きな方も多いんです。
私見ではそのような思考の先に創造はないと考えていますが、まあそれはそれ、ひとはひと。
0337デフォルトの名無しさん
2012/08/05(日) 15:17:34.21でもboost::intrusiveは駄目です。解読できません。
0338デフォルトの名無しさん
2012/08/05(日) 15:29:30.70Windowsだけ変えても駄目だよ。ちゃんとリンカーまで変更しないと64ビットでは動作しない。
プロパティ→構成プロパティ→詳細設定→対象コンピュータ→MachineIA64 (/MACHINE:IA64)
0339デフォルトの名無しさん
2012/08/05(日) 15:37:24.29処理速度は、
32ビット環境+32ビットのソフト<64ビット環境+32ビットのソフト<64ビット環境+64ビットのソフト
になる。
0340デフォルトの名無しさん
2012/08/05(日) 15:38:29.15エラー内容を理解する処からでは?
0341デフォルトの名無しさん
2012/08/05(日) 15:50:27.63ブーストにインタラじゃないやつあるじゃん
0342デフォルトの名無しさん
2012/08/05(日) 16:02:16.37IA64もx64(AMD64/Intel64)もsizeof(int)==4だけど
0343デフォルトの名無しさん
2012/08/05(日) 16:04:11.16うーん、深く考えるなってこと?
>>340
エラー内容はわかってて、変数名と関数名の衝突なんだけど、
なぜコンパイラが変数と関数を区別できないか考えてるところ。
0344デフォルトの名無しさん
2012/08/05(日) 16:05:09.23ちなみにVC++2010の場合ね。あと、Expressだと64ビット用のライブラリが
足りないから動かなくなる可能性もあるけど。
0345デフォルトの名無しさん
2012/08/05(日) 16:11:16.61boost全体をAVLでgrepしてみましたが、intrusive以下しか引っかかりません。
0346デフォルトの名無しさん
2012/08/05(日) 16:11:32.960347デフォルトの名無しさん
2012/08/05(日) 16:19:02.43sizeof(int)==8の方が小数派にみえる
0348346
2012/08/05(日) 16:32:13.73致命的なミスをしてしまったようだ。
0349デフォルトの名無しさん
2012/08/05(日) 16:50:19.75今のint型のサイズってどうなってるの??
0350デフォルトの名無しさん
2012/08/05(日) 16:52:42.020351デフォルトの名無しさん
2012/08/05(日) 17:00:51.580352デフォルトの名無しさん
2012/08/05(日) 17:03:45.030353デフォルトの名無しさん
2012/08/05(日) 17:43:14.43Thanx!!
0354デフォルトの名無しさん
2012/08/05(日) 20:05:49.240355デフォルトの名無しさん
2012/08/05(日) 20:31:41.21あとは2-3-4木と赤黒木などがあるが似たようなもんだ
0356デフォルトの名無しさん
2012/08/05(日) 21:11:25.43区別が付いてるからエラーになってんだろww
同一空間の変数、関数は一意の名前を付けるというルールにしたがっているわけで
ルールがなんでそうなってるかというと、たんに名前で区別付けたいからとしか言いようがない。
仕様としてはアドレス空間に割り付けられたものに一意の名前を付けるアセンブラの仕様から
受け継がれた内容。
新しい言語作れば変数と関数で同じ名前にもできるだろうけど、そうする手間が割に合わないから
そのままなのさ。
名前空間ってものを作ってそれぞれに同じ名前のものハイチできるようにはしたしね。
0357デフォルトの名無しさん
2012/08/05(日) 21:35:13.47int piyo=(int)hoge;とかされたときに区別がつかないからじゃ?
0358デフォルトの名無しさん
2012/08/05(日) 21:41:07.73void hoge(){}
int main(){
void *p = hoge;
return 0;
}
0359デフォルトの名無しさん
2012/08/05(日) 21:41:09.38結局のところそういうものとしかいいようがない
0360デフォルトの名無しさん
2012/08/05(日) 21:51:26.97外部リンケージで保証されているシンボル名が8文字しかないとか
その辺から文句つけろっての。
シンボル名ってのがアドレスでしかないという制限から来てるんだから。
C++では関数名をマングルすることで重複を可能にしたけど
グローバル変数はそのままだし。
0361デフォルトの名無しさん
2012/08/05(日) 21:57:35.76まともに動かないって話を聞いた気がしたけど
今はそういう問題は解決してるのかね。
int open=-1;
int CreateFileA=-1; int CreateFileW=-1;
int main()
{
FILE *fp = fopen(...);
...
}
みたいな。
0362デフォルトの名無しさん
2012/08/05(日) 22:05:09.08なんとも時代遅れだよな
0363デフォルトの名無しさん
2012/08/05(日) 22:23:16.70それCの話で、C++はそんなこと無い…よね?
0364デフォルトの名無しさん
2012/08/05(日) 22:28:39.17ANSIだと31文字までで大文字小文字の区別ありだけど
どこの規格?
0365デフォルトの名無しさん
2012/08/05(日) 22:37:46.080366デフォルトの名無しさん
2012/08/05(日) 22:59:49.39どういう事?
static int open → open
int open → _open
6文字じゃ無くても30字以下なら31文字超える事なんて無いでしょ
0367デフォルトの名無しさん
2012/08/05(日) 23:03:44.900368デフォルトの名無しさん
2012/08/05(日) 23:10:30.72お前が何を言ってるのか、日本語が全然理解できない。
規格では外部リンケージと内部リンケージの
それぞれに要求する最低条件は明確に区別されている。
>>367
ANSI/ISO規格が、処理系に対して、
内部リンケージの識別子を区別する最少長を31以上にすることを要求している。
実際に何文字までが区別されるかは処理系依存。
0369デフォルトの名無しさん
2012/08/05(日) 23:16:18.14Cの規格書なんてほとんど読まれていないのがわかるな
0370デフォルトの名無しさん
2012/08/05(日) 23:18:53.100371デフォルトの名無しさん
2012/08/05(日) 23:23:16.250372デフォルトの名無しさん
2012/08/05(日) 23:25:24.630373デフォルトの名無しさん
2012/08/05(日) 23:25:27.52int main=0xc3;
って走らないんだな。
ひさびさに試したらセグった。
0374デフォルトの名無しさん
2012/08/05(日) 23:31:07.15ああ、外部リンケージだと6文字って話か
アセンブリコードに落とした時の文字数の事言ってるのかと思った
0375デフォルトの名無しさん
2012/08/05(日) 23:31:46.130x3c(ret)じゃないの?
0376デフォルトの名無しさん
2012/08/05(日) 23:34:38.530377デフォルトの名無しさん
2012/08/05(日) 23:36:25.870378デフォルトの名無しさん
2012/08/06(月) 01:17:36.960379デフォルトの名無しさん
2012/08/06(月) 01:29:21.66mainはデータ領域に確保されていて、そこに制御を移そうとするけど
実行可能属性がついてないとか。
一瞬、C++対応コード(__mainみたいなやつ)の影響かとも思ったけど、違うよね。
0380デフォルトの名無しさん
2012/08/06(月) 02:02:01.950381sage
2012/08/06(月) 06:02:25.33でも本当にクソソースで、意味のよくわからないif文(これが無いと時々落ちる)とか、
凶悪な場合わけとか。。。明日boost::intrusiveと性能を比べてみます。
引き続きいい実装ありましたら、よろしくお願いします。
0382デフォルトの名無しさん
2012/08/06(月) 18:53:47.01お薬だからちょっと苦いよ
0383デフォルトの名無しさん
2012/08/06(月) 23:25:42.59マジレスすると、amd_86 (x86_64)から実装されたCPUの機能。
windowsだと、データ実行防止機能(DEP)に使われてる。
0384デフォルトの名無しさん
2012/08/06(月) 23:39:15.75つーかそれx86の欠陥だと長い間言われていたよな
XPSP3からDEP有効に出来るようになったんだっけ
バッファオーバーラン攻撃とか簡単に食らってしまう
0385デフォルトの名無しさん
2012/08/07(火) 15:34:36.14あるに越したことはない
0386デフォルトの名無しさん
2012/08/07(火) 17:58:08.80Hoge(); Hoge(Hoge const &); /* ...ry */
public:
static Hoge * Create();
/* ↓どっちがいい?
static void Delete(Hoge *);
static void Delete(Hoge const *);
*/
};
上のように自動変数を封じたい場合にCreate/Delete関数を作る事があるけど、
この場合にDelete関数に渡すポインタはconstにするべきかしないべきかどちらだろうか
オブジェクトを破壊しているから非constにするべきだ、という主張と
Hoge const *で生成物を受け取った場合にconst_castなしで破棄できないのは見苦しいからconstにするべきだ、という主張が在って迷ってる
0387デフォルトの名無しさん
2012/08/07(火) 18:47:33.83ところで非staticは選択肢にないの?
hoge = Hoge::Create();
// ほげほげ
hoge->Delete();
0388デフォルトの名無しさん
2012/08/07(火) 18:58:41.79RAIIラッパ無しとか例外安全どうするの?
http://ideone.com/nwdwv
C++11かboostありならデリータ付きスマポでいいけど
0389デフォルトの名無しさん
2012/08/07(火) 19:09:41.48理由:普通のdeleteはconst付きでいける
void Delete(Hoge*&);
まあこうしてNULLをセットするようにしておくと双方の違和感が紛れる気がしないでもない
0390デフォルトの名無しさん
2012/08/07(火) 21:31:06.040391デフォルトの名無しさん
2012/08/08(水) 14:54:39.630392デフォルトの名無しさん
2012/08/08(水) 15:27:30.650393デフォルトの名無しさん
2012/08/08(水) 15:29:10.080394デフォルトの名無しさん
2012/08/08(水) 20:00:27.54自動変数を作らせたくないなら
デストラクターをprivateに置いて、自滅用のDestroy関数用意しときゃいいだろうよ。
0395デフォルトの名無しさん
2012/08/08(水) 20:01:54.37同一人物か?
0396デフォルトの名無しさん
2012/08/08(水) 21:39:35.320397デフォルトの名無しさん
2012/08/08(水) 22:25:04.71こういうのって専門用語でなんていうんだっけかな
0398デフォルトの名無しさん
2012/08/08(水) 22:29:59.180399デフォルトの名無しさん
2012/08/08(水) 22:30:43.140400デフォルトの名無しさん
2012/08/08(水) 23:17:34.65きちがい
0401デフォルトの名無しさん
2012/08/08(水) 23:38:11.28http://kmaebashi.com/programmer/hoge.html
0402デフォルトの名無しさん
2012/08/09(木) 01:42:58.070403デフォルトの名無しさん
2012/08/09(木) 09:14:18.570404デフォルトの名無しさん
2012/08/10(金) 14:37:52.01class Oya {
protected:
int age;
};
class Kodomo : public Oya {
Kodomo() : Oya::age(50) {}
};
こう書くとエラーになるのは何でですか?
0405デフォルトの名無しさん
2012/08/10(金) 15:07:07.17using Oya::age;
Kodomo() : age(50) {}
};
§12.6.2.2
Names in a mem-initializer-id are looked up in the scope of the constructor’s class and, if not
found in that scope, are looked up in the scope containing the constructor’s definition.
[Note: if the constructor’s class contains a member with the same name as a direct or virtual
base class of the class, a mem-initializer-id naming the member or base class and composed of
a single identifier refers to the class member. A meminitializer-id for the hidden base class may
be specified using a qualified name. ] Unless the meminitializer-id names a nonstatic data
member of the constructor’s class or a direct or virtual base of that class, the mem-initializer
is ill-formed. A mem-initializer-list can initialize a base class using any name that denotes
that base class type.
結局Oya::ageとKodomo::ageの区別が曖昧だからじゃね
0406デフォルトの名無しさん
2012/08/10(金) 15:35:50.03..\Derived1.cpp:18:14: error: class 'Kodomo' does not have any field named 'age'
つまり基底クラスのメンバは基底クラスのコンストラクタで初期化しないとコンストラクタが
終了するまで値が確定しないようだ(派生クラスは基底クラスのコンストラクタから順に実行される)
http://www32.ocn.ne.jp/~ons/text/CPP0xFAQ.html.ja
ここの「継承コンストラクタ」を参照して欲しい
こうするしかないか
class Oya {
protected:
int age;
public:
Oya(int i) : age(i) {}
};
class Kodomo : public Oya {
public:
using Oya::age;
Kodomo() : Oya(50) {}
void print() const {
std::cout << age << std::endl;
}
};
int main()
{
Kodomo k;
k.print();
}
0407デフォルトの名無しさん
2012/08/10(金) 18:31:33.36多分VC11でも実装しない予想
面倒でも今まで通り>>406のように書くべき
0408デフォルトの名無しさん
2012/08/10(金) 18:59:25.87class Kodomo : public Oya {
Kodomo(){age=50;}
};
0409デフォルトの名無しさん
2012/08/10(金) 19:10:41.290410デフォルトの名無しさん
2012/08/10(金) 20:18:28.78まあそうだけどな
RAIIに反するし、参照などはそれでは初期化出来ないけど
>>409
いやgccでこのコードが通らないから
やってみろよ
class Oya {
protected:
int age;
public:
Oya(int i = 0) : age(i) {}
};
class Kodomo : public Oya {
public:
using Oya::Oya; // 継承コンストラクタはgccでは実装されていない
void print() const {
std::cout << age << std::endl;
}
};
int main()
{
Kodomo k;
k.print();
}
0411デフォルトの名無しさん
2012/08/10(金) 20:40:43.33子のデフォルトコンストラクタで親のメンバを別の値に初期化することとは全く関係ないじゃん
Kodomo k(50) って書きたいとかそういう話じゃないだろ?
0412デフォルトの名無しさん
2012/08/10(金) 21:21:57.50だから無理なんだって
諦めろ
0413デフォルトの名無しさん
2012/08/10(金) 22:08:46.480414デフォルトの名無しさん
2012/08/10(金) 22:13:05.37>>404
> こう書くとエラーになるのは何でですか?
同じオブジェクトを二回初期化することになるからです。
> Kodomo() : Oya::age(50) {}
のOya::age(50)が実行される前にOyaの暗黙のデフォルトコンストラクタが実行されて
その時点でOyaの全てのメンバは初期化されています(ageは不定値ですけど)
0415デフォルトの名無しさん
2012/08/10(金) 22:15:44.590416デフォルトの名無しさん
2012/08/10(金) 22:21:05.18権限の格上げにそんなヨサゲな機能があるんだ〜
と思ったらできねぇじゃねぇか
http://codepad.org/qfDeanMt
まぁ、そもそもメンバー変数なんてprotectedにするようなもんじゃないしな。
0417デフォルトの名無しさん
2012/08/11(土) 08:17:19.14初期化したいなら>>406 代入したいなら>>408しかねぇよ
struct A{
A(){}
A(int n){}
};
struct Base{
A value;
};
struct Derived:Base{
using Base::value;
Derived():value(10){}
};
0418デフォルトの名無しさん
2012/08/12(日) 06:44:51.22何もしてないデストラクタ virtual ~myClass() {} みたいなのがあるのですが、
これを純粋仮想にするとコンパイルが通りません。
いったいどういう場面で使うのでしょうか?
0419デフォルトの名無しさん
2012/08/12(日) 08:45:31.510420デフォルトの名無しさん
2012/08/12(日) 09:01:04.93純粋仮想デストラクタを使う場面はありません
インターフェイスのインスタンスを作らせないようにするには
コンストラクタをprotectedにします
0421デフォルトの名無しさん
2012/08/12(日) 12:00:48.61virtual ~IHoge()
{
} // <- このかっこがなんかウザい
virtual void DoSomething() = 0;
};
こういうときに純粋仮想デストラクタを書くと見た目が気持ち良くなります
0422デフォルトの名無しさん
2012/08/12(日) 12:33:15.16()=0;
0423デフォルトの名無しさん
2012/08/12(日) 14:13:56.22なんで?そもそもインターフェースってなんの事を言ってる?
純粋仮想クラスの事言ってるなら、コンストラクターのprotectedなんて必要ないだろうし
テンプレートとのインスタンス化とも関係無さそうだし判らん。
0424デフォルトの名無しさん
2012/08/12(日) 14:16:57.24派生が迷惑だろ
class IHoge:public Deletable みたいな感じに
仮想デストラクターもったクラスを継承した方がいい
0425デフォルトの名無しさん
2012/08/12(日) 15:34:37.59純粋仮想デストラクタの使い道を考えたら分かるよ
0427デフォルトの名無しさん
2012/08/12(日) 18:04:20.86this->~Example();
?
0428デフォルトの名無しさん
2012/08/12(日) 18:05:47.16やだこの人臭い…
0429デフォルトの名無しさん
2012/08/12(日) 18:16:19.84ようhage
0430デフォルトの名無しさん
2012/08/12(日) 18:19:08.78struct Hoge {
Hoge(function<void(void)> h, function<void(void)> w): Hello(h), World(w) {}
function<void(void)> Hello;
function<void(void)> World;
};
template <class T> void Test(T obj) { obj.Hello(); obj.World(); }
int main(void) {
SmartPtr<X> obj(new X);
Test(Hoge(
[obj]() { obj->hello(); },
[obj]() { obj->world(); }));
return 0;
}
このコードからHogeクラスを削りたいんだけど
0431デフォルトの名無しさん
2012/08/12(日) 18:24:12.950432デフォルトの名無しさん
2012/08/12(日) 18:26:10.95問題点がわからん。
0433デフォルトの名無しさん
2012/08/12(日) 18:39:35.04古いコードのインターフェースだけ変えたいときとか在るじゃん
でもアダプタいちいちかくのメンドくさいじゃん
そんなとき匿名クラスとか書けたら便利じゃん
C++ならそういうのも無理やり書けないかなと思って聞いてみた
0434デフォルトの名無しさん
2012/08/12(日) 18:47:06.77簡単に似たいような事できたんだけどねぇ。
0435デフォルトの名無しさん
2012/08/12(日) 20:34:54.98またhoge厨か
恥ずかしくない?w
0436デフォルトの名無しさん
2012/08/12(日) 20:36:04.190437デフォルトの名無しさん
2012/08/12(日) 20:39:21.04頭がおかしいから恥ずかしくないんだよ。
0438デフォルトの名無しさん
2012/08/12(日) 20:47:18.76hogeだったてよwwwwwwwwwwwwwww
馬鹿じゃねwwwwwwwwwwwwwwwwwwww
0439デフォルトの名無しさん
2012/08/12(日) 20:53:37.96プログラミングがわからないのも当たり前
0440デフォルトの名無しさん
2012/08/12(日) 20:56:12.97異を唱える者は極左思想の危険人物確定。おそらく在日だろうな
0441デフォルトの名無しさん
2012/08/12(日) 21:28:24.91> In Japanese, the words hoge and page are commonly used,
> with other common words and variants being piyo, fuga, hogera, and hogehoge.[4]
> Note that -ra is a pluralizing ending in Japanese, and reduplication is also used for pluralizing.
> The origin of hoge as a metasyntactic variable is not known,
> but it is believed to date to the early 1980s.[4]
pageとか見たこと無いんだが…
それにhogeraのraが複数とかなんなんなんだ
0442デフォルトの名無しさん
2012/08/12(日) 21:33:38.63hogeを否定する奴は即死刑にする法律を作るべき!
0443デフォルトの名無しさん
2012/08/12(日) 21:35:37.05匿名な掲示板におんぶにだっこでこんな馬鹿なことをやっているのだったら、どうぞお好きなようにという感じなのだけれど、あなた達ときたら当たり前みたいに、piyoのxyzzyにhogeなfoo barになってしまって――もう、さっぱりね
0444デフォルトの名無しさん
2012/08/12(日) 21:46:48.29http://www.google.co.jp/search?q=%E3%83%9B%E3%82%B2%E3%83%BC&tbm=isch
0445デフォルトの名無しさん
2012/08/12(日) 21:59:53.740446hogeがこの世界を作った
2012/08/12(日) 22:03:34.230447デフォルトの名無しさん
2012/08/12(日) 22:10:51.50だからHoge使うのは常識なんだよ
Hoge使ってない香具師が精神異常
0448デフォルトの名無しさん
2012/08/12(日) 22:12:32.030449デフォルトの名無しさん
2012/08/12(日) 22:29:22.360450デフォルトの名無しさん
2012/08/12(日) 22:45:43.580451デフォルトの名無しさん
2012/08/12(日) 22:51:11.520452デフォルトの名無しさん
2012/08/12(日) 22:51:32.50全ての生命はhogeとともに生まれ、hogeとともに生き、hogeとともににその天命を終える。
0453デフォルトの名無しさん
2012/08/12(日) 22:57:35.93話の内容を見なくともhoge使ってる時点で馬鹿って分かる
早期に馬鹿を判別するのに便利だわな
0454デフォルトの名無しさん
2012/08/12(日) 23:23:45.56Hogeはイメージがわかないし、古い感じがする。
俺の感覚だと30代後半以上の年寄りだな。
0455デフォルトの名無しさん
2012/08/12(日) 23:28:37.76結局何をしたいのか聞き直さななきゃならんのがめんどくせぇ
0456デフォルトの名無しさん
2012/08/12(日) 23:32:46.17hoge使って質問するような頭のおかしい奴らがそんなところまで考えられるわけないじゃんw
0457デフォルトの名無しさん
2012/08/12(日) 23:33:54.13wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
表面ばっかなぞってコピペ繰り返してきた付けが回ってきたなあwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
0458デフォルトの名無しさん
2012/08/12(日) 23:37:20.74キメェwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
だったら知らないほうがマシだわwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
0459デフォルトの名無しさん
2012/08/12(日) 23:39:31.66hogeとかpiyoとかfooとかbarとかどうでもいいから
0460デフォルトの名無しさん
2012/08/12(日) 23:42:21.11ばか丸出しやなあああああwwwwww
知ってたら使おうが使わないだろうが関係ないだろ
できるやつはHoge?ふーんどうでもいいわ読めるしってなる
チンカス低能朝鮮人はHogeなんて読めないニダ!意味わからんチョッパーリ!!!!とふぁびょり出す
そしてお前がそのどちらかは明白だなwwwwwもうわかっただろ?もう国に帰っとけや
0461デフォルトの名無しさん
2012/08/12(日) 23:47:32.320462デフォルトの名無しさん
2012/08/12(日) 23:50:50.48そんなセンスのない奴がウンコみたいなコード垂れ流すんだろうな
それでオナニーするだけならまだしもネット上にぶちまけるからな
0463デフォルトの名無しさん
2012/08/12(日) 23:52:16.72じゃあUndefinedValueでも使っとけ
0464デフォルトの名無しさん
2012/08/13(月) 00:14:45.52なげーよhage
0465デフォルトの名無しさん
2012/08/13(月) 00:17:48.56M$のAPI名思い出した。あっちは明瞭さ優先するために妙に長ったらしくしてるもんな……
ま、そんなM$が公式で批判してるハンガリー記法にしても結局は分かりやすさを出すためだし、
そう考えるとhogeとかはその対極に位置する命名と言える
つまり「とりあえずhogeでいいだろhage」vs「hogeとか訳分からんわ氏ね」ってことだよね
0466デフォルトの名無しさん
2012/08/13(月) 00:18:48.22意味のないものを使ってデザパタ云々質問すんなや
0467デフォルトの名無しさん
2012/08/13(月) 00:54:43.510468デフォルトの名無しさん
2012/08/13(月) 01:13:01.22文字数短いほうがいいの?
じゃぁhogeより短いfooでも使ってればいいだろ知能障がい。
0469デフォルトの名無しさん
2012/08/13(月) 04:05:32.740470デフォルトの名無しさん
2012/08/13(月) 08:34:03.76お前も世間から淘汰されなければ、30代後半を迎えて年寄りになるさ。
淘汰されなければ…な。
0471デフォルトの名無しさん
2012/08/13(月) 10:04:14.850472デフォルトの名無しさん
2012/08/13(月) 11:24:22.280473デフォルトの名無しさん
2012/08/13(月) 11:30:28.730474デフォルトの名無しさん
2012/08/13(月) 13:21:27.900475デフォルトの名無しさん
2012/08/13(月) 13:59:17.59バカじゃねwww
0476デフォルトの名無しさん
2012/08/13(月) 15:07:52.19まずはお手本を見せてくれ
0477デフォルトの名無しさん
2012/08/14(火) 00:37:18.54アキラのことか。
0478デフォルトの名無しさん
2012/08/14(火) 01:48:26.18char*型のhogeって変数入れたらエラー出るんだけどなんでですか?
わざわざstring型のhageを入れて、hage.length+1でnewしてstrcpyして・・・ってめんどうなんですけど
文字数も予め指定しないと行けないし不便で・・・
ファイルから1行づつchar*に入れてくれるクラスとか無いでしょうか?
ぴったりにしたいのでchar配列を予め宣言というのはいやです
0479デフォルトの名無しさん
2012/08/14(火) 02:10:01.900480デフォルトの名無しさん
2012/08/14(火) 03:15:11.48Run-Time Check Failure #3 - The variable 'hoge' is being used without being initialized.
#include <iostream>
#include <fstream>
using namespace std;
void main(){
ifstream List("GunList.txt");
char* hoge;
while(List.getline(hoge,100)) {
for(int i=0;i<5;i++)
std::cout << hoge;
std::cout << "\n";
}
while(1);
}
0481デフォルトの名無しさん
2012/08/14(火) 03:20:05.24すまん
for文とstd::はいらない
whileの中身はcoutだけ
0482デフォルトの名無しさん
2012/08/14(火) 03:32:55.42そのエラーの意味がわからないならポインタ使うのは無理だな。
std::string hoge にして std::getline(List, hoge) にしとけ。
あと main() の戻り値は int な。
0483デフォルトの名無しさん
2012/08/14(火) 03:35:06.03char hoge[1024];とでもしとけ
0484デフォルトの名無しさん
2012/08/14(火) 05:57:32.760485デフォルトの名無しさん
2012/08/14(火) 06:19:57.37読売新聞 8月13日(月)22時45分配信
ロンドン五輪サッカー男子の3位決定戦直後に韓国選手が竹島の韓国領有を主張する政治的メッセージを掲げた問題で、
日本サッカー協会の大仁(だいに)邦弥会長は13日、謝罪と再発防止を徹底させる旨を記した韓国サッカー
協会長名の文書を受け取ったことを明らかにした。
文書は同日付で電子メールとファクスで送られており、大仁会長によると「申し訳なかった。二度とこういうこと
が起こらないように徹底する」という内容だったという。
国際オリンピック委員会(IOC)のロゲ会長は12日、当該選手の銅メダルを預かりとしたうえで、国際サッカー
連盟(FIFA)規律委員会の決定を待って処分を決める意向を示している。大仁会長も「五輪の場で起こったの
は残念だが、当面はIOCとFIFAに任せたい」と静観する構えであることを強調した。
.http://headlines.yahoo.co.jp/hl?a=20120813-00001408-yom-spo
0486デフォルトの名無しさん
2012/08/14(火) 11:24:24.85char* hoge="";
でもいいの?
文字数分やらないとダメなのかな
0487デフォルトの名無しさん
2012/08/14(火) 11:31:09.63getline()で読み込むための場所が必要。
hogeがポインタなら、適切に確保された場所をポイントしないといけない。
hogeが配列でいいなら、>483だな。
まぁ、>482でいいよ。
0488デフォルトの名無しさん
2012/08/14(火) 11:36:24.35リテラルは書き変え不可。
0489デフォルトの名無しさん
2012/08/14(火) 11:37:02.57どうでもいいけど無限ループでウィンドウを閉じさせないって随分お大尽だな。
CPUぶん回すことになるからエコじゃないぞ。
単に進行を止めたいだけならgetline()でも充分だろ。
0490デフォルトの名無しさん
2012/08/14(火) 11:37:33.83そういう問題以前の問題だね。
0491デフォルトの名無しさん
2012/08/14(火) 12:30:03.32まぁ2秒ぐらい眺めて閉じますし・・・
0492デフォルトの名無しさん
2012/08/14(火) 13:57:08.61https://www.google.co.jp/#hl=ja&q=sourceforge+hoge
約 134,000 件 (0.12 秒)
0493デフォルトの名無しさん
2012/08/14(火) 15:18:09.60そんなんだからいつまでもプログラムが上達せずにこんなところで質問してるんだろうな。
0494デフォルトの名無しさん
2012/08/14(火) 15:26:20.730495デフォルトの名無しさん
2012/08/14(火) 15:31:48.90言い訳してないで、回答してくれた皆さんに感謝の一言でも書きなさい。
0496デフォルトの名無しさん
2012/08/14(火) 15:34:15.73ありがとうございました!
0497デフォルトの名無しさん
2012/08/14(火) 15:55:50.08>>495
言い訳してるわけじゃないんだけど・・・
自分から感謝しろとかこの人病気?
ありがとうございました
これで満足
0498デフォルトの名無しさん
2012/08/14(火) 15:58:33.360499デフォルトの名無しさん
2012/08/14(火) 16:09:04.790500デフォルトの名無しさん
2012/08/14(火) 16:12:54.120501デフォルトの名無しさん
2012/08/14(火) 16:16:32.760502デフォルトの名無しさん
2012/08/14(火) 16:31:13.30>>500は釣られたことにしようとしたレスってことか
一体どういうことなんだ・・・
0503デフォルトの名無しさん
2012/08/14(火) 16:35:49.910504デフォルトの名無しさん
2012/08/14(火) 16:37:04.03hogeは使わないとして、何使ったらいい?
0505デフォルトの名無しさん
2012/08/14(火) 16:42:20.36fooとかbarとかだな。
0506デフォルトの名無しさん
2012/08/14(火) 17:51:28.310507デフォルトの名無しさん
2012/08/14(火) 18:01:15.04Y y;
Z z;
これでいいやん
座標が絡む話のときは使えんけど
0508デフォルトの名無しさん
2012/08/14(火) 18:10:26.04サンプルコードで大文字と小文字と一見して区別のつかないものを
つかうなよ
0509デフォルトの名無しさん
2012/08/14(火) 18:15:59.17そんなことも見えなくなる老眼爺はさっさと引退しろ
0510デフォルトの名無しさん
2012/08/14(火) 18:22:17.53getlst
0511デフォルトの名無しさん
2012/08/14(火) 18:38:59.03うるせぇ近眼クソメガネ野郎は黙れ
0512デフォルトの名無しさん
2012/08/14(火) 18:42:58.03はあ?こちとら裸眼で1.5の体育会系ですがなにか?
貧弱な坊やと老人は日本から韓国に移住しろよwww
0513デフォルトの名無しさん
2012/08/14(火) 18:53:37.300514デフォルトの名無しさん
2012/08/14(火) 18:57:07.36おっと負け惜しみですかw
0515デフォルトの名無しさん
2012/08/14(火) 19:28:03.24なにをすればいいんだ
よく自分の作りたいのつくれって言われたりするけど結局手がつかない技術的に
0516デフォルトの名無しさん
2012/08/14(火) 19:31:03.14作りたいもの作りながら足りないものをその都度べんきょうするかんじ
0517デフォルトの名無しさん
2012/08/14(火) 19:38:01.04だけど分からないときに2chで質問するんじゃないぞ
またそれに見あった本を買え
適切な本を自分で選択するのも勉強というか訓練の一環だぞ
0518デフォルトの名無しさん
2012/08/14(火) 19:59:29.210519デフォルトの名無しさん
2012/08/14(火) 20:03:42.27気持ちは解るよ
C#に乗り換えると幸せになれる
0520デフォルトの名無しさん
2012/08/14(火) 20:22:55.51今はQtやってる
そのあとC#勉強する予定
0521デフォルトの名無しさん
2012/08/14(火) 20:27:17.81大丈夫なのか
0522デフォルトの名無しさん
2012/08/14(火) 20:32:25.020523デフォルトの名無しさん
2012/08/14(火) 20:33:59.01Qtは仕事でやってるに過ぎないんじゃね?
C#は趣味でやるつもりだろう
0524デフォルトの名無しさん
2012/08/14(火) 20:38:55.17windows環境だとC#のほうがしやすそうじゃん
まぁ理由としてはC#にも興味があるってだけ
0525デフォルトの名無しさん
2012/08/14(火) 20:41:38.10むしろQtを使う理由なんてあるの?って感じ
0526デフォルトの名無しさん
2012/08/14(火) 20:49:04.39Qtを使う理由
・せっかくC/C++勉強したんだからC/C++でGUIアプリ作りたい
・Qtの参考書をすでに購入した(勉強しないともったいない
最初にC#を勉強すべきだったか・・・
>適切な本を自分で選択する
このコツは実に知りたいもの。今ならgoogleで追い詰める能力かもしれない。
0528デフォルトの名無しさん
2012/08/14(火) 20:52:23.10macでC#って使えるっけ?
MDI まじかんべん
0530デフォルトの名無しさん
2012/08/14(火) 20:55:11.140531デフォルトの名無しさん
2012/08/14(火) 21:00:01.79万事に通じて言えることなんだけどさ、
捨てない理由が「もったいない」だけなら、捨てるべきだよ
0532デフォルトの名無しさん
2012/08/14(火) 21:13:08.110533デフォルトの名無しさん
2012/08/14(火) 21:15:06.34私もMDIで詰みました
>>531
実行速度的な意味で勉強する価値はあるかなって思ってるけど
・・・どうなんだろう。
0534デフォルトの名無しさん
2012/08/14(火) 21:17:26.39コツは自分で掴むしかないだろう
学生時代の参考書と同じで他の人に合った参考書でも自分には合わなかったりするから
自分の脳に合った書籍は自分で探すしかない
検索で出てきた情報の99%は誰も保証してくれてないから参考程度にかならない
0535デフォルトの名無しさん
2012/08/14(火) 21:34:57.820536デフォルトの名無しさん
2012/08/15(水) 17:39:09.880537デフォルトの名無しさん
2012/08/15(水) 22:55:56.000538デフォルトの名無しさん
2012/08/15(水) 23:05:27.820539デフォルトの名無しさん
2012/08/15(水) 23:07:23.41メンバに持つなら自動変数でいいし
vectorに所有権持たせるならptr_vectorのが簡単じゃないですか?
0540デフォルトの名無しさん
2012/08/15(水) 23:15:00.64動的多態使いたいときとか
インスタンスではなくポインタで持ちたいときとかないの?
ptr_vector使ったことないから簡単さは知らない
0541デフォルトの名無しさん
2012/08/15(水) 23:38:44.730542デフォルトの名無しさん
2012/08/15(水) 23:45:43.07なんで静的にしたんだろう
0543デフォルトの名無しさん
2012/08/15(水) 23:47:23.570544デフォルトの名無しさん
2012/08/15(水) 23:48:04.71そのくらい自分で作れよ
0545デフォルトの名無しさん
2012/08/16(木) 00:08:28.30作ったけど
これぐらい標準で用意しろよって思った
実際削除子の型固定なんてろくな使い道ないし
0546デフォルトの名無しさん
2012/08/16(木) 00:11:32.050547デフォルトの名無しさん
2012/08/16(木) 00:13:58.650548デフォルトの名無しさん
2012/08/16(木) 01:43:20.72おじゃばでも使ってろて話しだ
0549デフォルトの名無しさん
2012/08/16(木) 03:12:33.15abcdefghij¥nklmnopq
という文字列が有った場合に、
17文字読み込むように指定すると、
abcdefghij¥nまで読み込みますか?
それとも
abcdefghij¥nklmno
まで読み込みますか?
0550デフォルトの名無しさん
2012/08/16(木) 03:17:07.89・試す
・2chで聞く
\n が改行コードだとして、
>abcdefghij\n
は11バイトですので、ここまで読み込んで末尾に\0をつけ、以上12バイトを指定領域に残します。
0552デフォルトの名無しさん
2012/08/16(木) 03:30:08.90じゃぁそいつを標準に提案しろ。
0553デフォルトの名無しさん
2012/08/16(木) 09:34:32.24例えば同種の100個のリソースハンドルがあったとして
それのデリータ関数は1つなのに、関数ポインタなりを100個持つのは無駄じゃね?
0554デフォルトの名無しさん
2012/08/16(木) 09:55:18.95前から思ってたけど日本語おかしいよ
残します ってなんだよ
0555デフォルトの名無しさん
2012/08/16(木) 10:16:26.00そういうケースはそうかもしれないけど
じゃあこういうケースはどうするの?
vector<MyUniquePtr<IFoo>> v;
v.push_back(MyUniquePtr<FooX>(new FooX)); // 標準new、delete
v.push_back(MyUniquePtr<FooY>(FooY::Create(), FooY::Delete)); // 隠ぺいされた生成、破棄
FooZPool fac = FooZPool::GetInstance(); // プールされたFooZ
v.push_back(MyUniquePtr<FooZ>(fac.get(), [fac] (FooZ * p) { fac.release(p); }); // 借りたものは借りた場所へ
こういうのはデリーターの型固定じゃだるくね?
0556デフォルトの名無しさん
2012/08/16(木) 11:22:34.27そういう場合は unique_ptr に動的な削除子の型を指定すればいいんでしょ。
だるいって、具体的に何のことを言ってるの?
0557デフォルトの名無しさん
2012/08/16(木) 11:36:21.59どうやって?
0558デフォルトの名無しさん
2012/08/16(木) 11:49:24.24俺の場合FooY::Deleteみたいなのは作らないから
FooYは外部ライブラリだとして、↓みたいに多分ラップすると思う
struct FooYWrap : IFoo{
FooY* p;
FooYWrap(FooY* a):p(a){}
~FooYWrap(){FooY::Delete(p);}
...
};
0559デフォルトの名無しさん
2012/08/16(木) 11:57:46.51function を適当にラップすれば済みそう。
0560デフォルトの名無しさん
2012/08/16(木) 12:06:10.63そういうときはintrusive_ptr使うな
0561デフォルトの名無しさん
2012/08/16(木) 12:10:29.39shared_ptr をラップして削除子だけのために使うという手もあるな。
0562デフォルトの名無しさん
2012/08/16(木) 12:20:17.92悪くないが沢山あると面倒だしvirtualコール二倍はな
shared_ptrで妥協するか迷うレベル
>>559
function<void(foo*)> f(delete_foo);
unique_ptr<foo, function<void(foo*)> p(new_foo(), move(f));
これが正解か?一歩間違えると例外安全なくなるから注意が必要だが……
>>560
virtual releaseしろってことか?
まあ悪くないな
>>561
コスパいいからunique_ptrなのにshared_ptr使ってたらいみないやん
0563デフォルトの名無しさん
2012/08/16(木) 20:41:22.66という選択肢はないのか
0564デフォルトの名無しさん
2012/08/16(木) 20:53:47.130565デフォルトの名無しさん
2012/08/16(木) 20:54:19.16ポインタを代入したらあーれー
0566デフォルトの名無しさん
2012/08/16(木) 21:04:28.950567デフォルトの名無しさん
2012/08/16(木) 21:05:04.55やはり生ポインタ最高だぜ!次点でシェアポだな
0568デフォルトの名無しさん
2012/08/16(木) 21:12:31.590569デフォルトの名無しさん
2012/08/16(木) 21:36:17.26struct FooImpl : IFoo { void method() { /*...*/ } };
struct FooX : FooImpl {
static FooX * create() { return new FooX(); }
void release() { delete this; }
};
struct Release { void operator () (IFoo * p) { if(p) p->release(); } };
typedef unique_ptr<IFoo, Release> FooPtr;
FooPtr create_foo() { return FooPtr(FooX::create()); }
Fooのコードいじる権限があるならこれがベストやな
既存のコードに手を加えられないなら諦めてラップだ
アロケーションの方法が増えるたびにFooImplを派生してreleaseを作り直せばいい
んー、じゃ、どうかけばいいの?
0571デフォルトの名無しさん
2012/08/17(金) 00:44:05.86これってg++の方は一時オブジェクトが作られていないということでしょうか?
#include <iostream>
using namespace std;
class hoge {
public:
~hoge() { cout << "デストラクタ" << endl; }
};
hoge func()
{
hoge ob;
return ob;
}
int main()
{
hoge ob;
ob = func();
return 0;
}
0572デフォルトの名無しさん
2012/08/17(金) 00:58:56.720573デフォルトの名無しさん
2012/08/17(金) 01:10:04.06ggってみたらそれっぽいですね。ありがとうございます
0574デフォルトの名無しさん
2012/08/17(金) 04:38:14.46「残す」という言葉の意味を考えれば、どう考えてもおかしいだろ。
その場合は寧ろ、「移す」とか「移動する」とか、さもなきゃ単に「書き込みます」とか。
0575デフォルトの名無しさん
2012/08/17(金) 04:49:48.65在日なん?
>「移す」とか「移動する」とか
私見では、きわめて曖昧かつ不正確な用法であり、普段から厳密性を考慮しない思考習慣が垣間見られますね。
移動する、というからには、移動する前にあったところのものは消える、とでもいうのですか?
どちらかというと「コピー」でしょう。
>さもなきゃ単に「書き込みます」とか。
許容範囲内ではあります。
>>575
>在日なん?
仮に在日だったとしても >>574 よりは日本語の勉強に邁進していると思います。というか、>>574 より脳細胞を使っています。
思考習慣の乏しい日本人でいるくらいなら、頭を使う習慣のある在日外国人で結構。
0577デフォルトの名無しさん
2012/08/17(金) 07:15:47.940578デフォルトの名無しさん
2012/08/17(金) 07:25:17.93/:\___从__ヽ
i::/ '''''' ''''''' i
|:/ /゚ヽ 、/゚ヽ| このスレ、癒されるなあ。。^^
(6 ,ノ(、_,)、 |
ヽ ト==イ ノ
\_'Uニ´_,/
/ /
/ /
/ /
:/ ヽ:
:/ ヽ: 皆さん、グッジョブです!
:( *‘ω‘*)*‘ω‘*):
./ \,
/ , . 、 'i
./ r´ 人. ヽi
i 人_,、__ノ ヽ、_,,_ノ.|
| / ゚ ゚ .|.|
| /( .з .iノ
0579デフォルトの名無しさん
2012/08/17(金) 07:41:03.93>以上12バイトを指定領域に移します。
>以上12バイトを指定領域にコピーします。
>以上12バイトを指定領域に書き込みます。
俺は「格納します」あたりを推してみよう
0580デフォルトの名無しさん
2012/08/17(金) 07:41:11.20理由をつけずに放言しっぱなしなぞ猿なみの知能
>>577 は >>576 ほど脳細胞を使っていないことは明白
0581デフォルトの名無しさん
2012/08/17(金) 07:43:13.69感想を書き込むのに脳細胞を使う必要があるのかね
0582デフォルトの名無しさん
2012/08/17(金) 08:00:39.70そもそも、日本語を勉強しなければいけない段階でお郷が知れるのだが。
私ゃ自分の言語感覚のほうを信じるね。
0583デフォルトの名無しさん
2012/08/17(金) 08:32:30.64「移す」よりはましだし、結果を「残す」のだから、意味として問題はない
>>582==>>574
ならば、あんた、言語感覚狂っているよ
0584デフォルトの名無しさん
2012/08/17(金) 08:38:53.77五十歩百歩
0585デフォルトの名無しさん
2012/08/17(金) 08:46:54.62どんぐりの背比べ
0586デフォルトの名無しさん
2012/08/17(金) 08:51:53.77目糞鼻糞を哂う。
0587デフォルトの名無しさん
2012/08/17(金) 09:13:25.81殺伐と言っても馬鹿とか短気なのしかいない殺伐はなんにも面白くないね
0588デフォルトの名無しさん
2012/08/17(金) 09:49:43.610589デフォルトの名無しさん
2012/08/17(金) 10:07:22.840590デフォルトの名無しさん
2012/08/17(金) 12:03:59.620591デフォルトの名無しさん
2012/08/17(金) 17:06:20.24Qがすぐファビョるおかしな理由がよく分かりますね
0592デフォルトの名無しさん
2012/08/17(金) 18:00:05.800593デフォルトの名無しさん
2012/08/18(土) 00:42:38.37http://engawa.2ch.net/test/read.cgi/poverty/1345217353/
釜山(プサン)地方裁判所は16日、債務超過に陥った釜山貯蓄銀行に対し、破産を宣告しました。
釜山貯蓄銀行は去年2月17日に営業停止処分を受けたのに続き、去年4月29日には、BIS=国際決済銀行による
自己資本比率がマイナス50.29%と、健全性を示す基準の1%を大幅に下回っていたため、
不健全金融機関に指定されました。
当時、釜山貯蓄銀行の資産総額は1兆3000億ウォン、借金は3兆5000億ウォンで、
資本金の増額や第三者による買収など経営改善の可能性も低いことから、
管財人が清算に向けて破産を申請していました。
5000万ウォン以下の預金資産や優良資産などはすでにブリッジバンクのイェソル貯蓄銀行に引き継がれており、
破産宣告により、釜山貯蓄銀行に5000万ウォンを超える預金を預けている
預金者と後順位の債権者は、破産手続きによる配当を受けることになりますが、
残った資産を処分しても、配当として受け取る資金はほとんどないものとみられます。
ただ、5000万ウォン未満の預金者は、今後もイェソル貯蓄銀行の管理のもとで、金融取り引きを続けることができます。
これに先立ち、今月14日には第一(チェイル)、第一2、プライム相互貯蓄銀行が
ソウル中央地方裁判所に破産申請を行っており、
トマト貯蓄銀行とパランセ貯蓄銀行もすでに先月、裁判所に破産を申請しています。
http://world.kbs.co.kr/japanese/news/news_Dm_detail.htm?No=44906
0594デフォルトの名無しさん
2012/08/18(土) 02:59:22.36すれちー
0595デフォルトの名無しさん
2012/08/18(土) 03:50:51.58連続体じゃないことは確か。
0596デフォルトの名無しさん
2012/08/18(土) 07:22:56.030597デフォルトの名無しさん
2012/08/18(土) 07:34:53.52「char *a と char a[] は同じ意味。だから char *argv[] と char **argv は同じ意味」
ぐらいの解釈で思っていたんだが、違うのか?
0598デフォルトの名無しさん
2012/08/18(土) 07:36:31.16hoge[0]だのfuga[4]だのが実際のデータを指し示す事になってるんだよ
これはわかるよな
じゃあそのとき
hogeとかfugaとかだけ書くと、これは実はhoge[0]とかfuga[0]って先頭データのアドレスになってるんだよな
つまりhoge = &(hoge[0])な
その例だとtypedef char* charpとか置き換えると
charp argv[]とcharp *argvになってどっちもargvはcharpのポインタになってるってわけだ
0599デフォルトの名無しさん
2012/08/18(土) 07:37:01.220600デフォルトの名無しさん
2012/08/18(土) 09:26:29.480601598
2012/08/18(土) 13:47:25.720602デフォルトの名無しさん
2012/08/18(土) 15:00:51.45コンパイラーによってはconstが付くな
0603デフォルトの名無しさん
2012/08/18(土) 15:04:59.47まあそうなんですけど、ときに殺伐の中から新しいアイディアが出てくるので、そしてこれは捨てたものでもないので、無理にでも殺伐にしたほうが楽しくていいじゃないですか?
0604デフォルトの名無しさん
2012/08/18(土) 15:30:28.49>hoge
こんなこと書いてておかしいと思わない?
思わないとしたら本物のキチガイだよお前
今すぐ回線きれクズ
0605デフォルトの名無しさん
2012/08/18(土) 17:06:38.08hogeに一体どんな恨み辛みがあるのか知らんが、
hogeが全体何をしたって言うんだ。
hogeが可哀想じゃないか。
0606デフォルトの名無しさん
2012/08/18(土) 17:08:48.26俺も長い事この業界にいるがhogeを叩くやつは俺が見た限りもれなく禿やろうだった
0607デフォルトの名無しさん
2012/08/18(土) 17:15:05.72hoge piyo fugaだったのね
0608デフォルトの名無しさん
2012/08/18(土) 17:17:53.48なんか言葉の響きが可愛いし
0609デフォルトの名無しさん
2012/08/18(土) 17:19:36.31kamuro -> shinzou -> oiran -> dayuu と使えるぞ。
0610デフォルトの名無しさん
2012/08/18(土) 17:23:27.950611デフォルトの名無しさん
2012/08/18(土) 20:26:20.570612デフォルトの名無しさん
2012/08/18(土) 20:29:33.47その理解だとsizeofに直接配列を指定したときの説明が付かないよ。
0613デフォルトの名無しさん
2012/08/18(土) 22:08:08.77質問にしてもいちいち目的はなんだと訊かにゃならんからめんどくせぇ
0614デフォルトの名無しさん
2012/08/18(土) 22:14:31.80>意味の解る名前
何のためのメタ構文変数なんだよ……
0615デフォルトの名無しさん
2012/08/18(土) 22:16:47.930616デフォルトの名無しさん
2012/08/18(土) 22:18:18.50メタの世界はIQ水準が一定以上ないとわからないからね仕方ないよ
0617デフォルトの名無しさん
2012/08/18(土) 22:20:12.36using namespace std;
class afoo
{
};
void bfoo(afoo)
{
cout << "cfoo" << endl;
}
int main()
{
bfoo(afoo());
}
0619デフォルトの名無しさん
2012/08/18(土) 22:34:36.97説明ならともかく質問すんのに無意味な名前をつけるな
0620デフォルトの名無しさん
2012/08/18(土) 22:36:54.05英語かぶれならfoo/bar/baz
>>619
この流れ>>598からの流れだよね?これ質問なのか?
0621デフォルトの名無しさん
2012/08/18(土) 22:37:07.24臭い
口を閉じろ素人が
0622デフォルトの名無しさん
2012/08/18(土) 22:40:19.53なんでhoge使ってる奴らって馬鹿しかいないんだろうw
0623デフォルトの名無しさん
2012/08/18(土) 22:41:40.480624デフォルトの名無しさん
2012/08/18(土) 23:13:09.87フサフサな人はHOGEに寛容というのがおれの島での常識
0625デフォルトの名無しさん
2012/08/19(日) 09:02:10.370626デフォルトの名無しさん
2012/08/19(日) 12:41:11.070627デフォルトの名無しさん
2012/08/19(日) 17:49:13.67お前はProfessionalなのかよw
0628デフォルトの名無しさん
2012/08/19(日) 18:54:56.20unko/chinko/manko
が一般的じゃないかな
0629デフォルトの名無しさん
2012/08/19(日) 21:07:07.84『hoge って何ですか?』
と真顔でしつこく聞いてきて困惑した。
説明難しいよね。 It's a ・・・ ummm
0630デフォルトの名無しさん
2012/08/19(日) 21:35:51.95まあhoge、piyo、fugaは日本由来だしねえ
fooとかbarだったら伝わりやすいかも
0631デフォルトの名無しさん
2012/08/19(日) 21:52:31.670632デフォルトの名無しさん
2012/08/19(日) 22:05:18.80foobarみたいなもので特に意味は無い
でいいじゃん
0633デフォルトの名無しさん
2012/08/19(日) 22:31:33.750634デフォルトの名無しさん
2012/08/20(月) 01:35:01.820635デフォルトの名無しさん
2012/08/20(月) 15:48:05.97http://engawa.2ch.net/test/read.cgi/poverty/1345437327/
高速バスがヒュンダイ(花王提供ドラマ「ビューティフルレイン」第8話)
http://cdn.uploda.cc/img/img5031bc4a7ea7a.jpg
ヒュンダイ・ユニバース
http://cdn.uploda.cc/img/img5031bc6b2f32e.jpg
http://www.hyundai-motor.co.jp/
花王提供ドラマ「ビューティフルレイン」
http://www.fujitv.co.jp/beautifulrain/
2012.8.19 フジテレビ抗議デモ その1 スタート動画
http://www.nicovideo.jp/watch/sm18661676
2012.8.19 フジテレビ偏向報道抗議デモ その2 フジテレビ本社前定点撮影
http://www.nicovideo.jp/watch/sm18662147
2012.8.19 フジテレビ偏向報道抗議デモ その3 ダイバーシティ前
http://www.nicovideo.jp/watch/sm18662993
【8.19】お台場フジテレビ抗議デモ一周年【主催:メタル兄弟】
1 http://www.nicovideo.jp/watch/sm18658586
2 http://www.nicovideo.jp/watch/sm18659619
3 http://www.nicovideo.jp/watch/sm18660775
香港活動家の尖閣上陸とフジテレビの関係?
http://www.nicovideo.jp/watch/sm18661137
0636デフォルトの名無しさん
2012/08/20(月) 16:29:14.260637デフォルトの名無しさん
2012/08/20(月) 16:31:56.060638デフォルトの名無しさん
2012/08/20(月) 17:35:47.99生理的に受け付けない。
ハゲは人を嫌な気分にさせるだけだから公共の場に出てくるなよ。
0639デフォルトの名無しさん
2012/08/20(月) 17:40:59.890640デフォルトの名無しさん
2012/08/20(月) 18:07:00.820641デフォルトの名無しさん
2012/08/20(月) 18:11:16.83+は毛なんだよ
0642デフォルトの名無しさん
2012/08/20(月) 18:19:17.31foobarも禿の名残
0643デフォルトの名無しさん
2012/08/20(月) 18:45:41.53SBやってる帰化チョンのせいじゃね?
0644デフォルトの名無しさん
2012/08/20(月) 18:53:35.480645デフォルトの名無しさん
2012/08/20(月) 19:37:33.79あいつはちゃんと帰化してるから、特に文句は無い
0646デフォルトの名無しさん
2012/08/20(月) 19:44:51.96ソフトバンク データセンター 韓国
で検索してみるといいよ。
0647デフォルトの名無しさん
2012/08/20(月) 19:58:44.870648デフォルトの名無しさん
2012/08/20(月) 20:48:58.73http://www.idrugstore.com/product/1397
性欲なくなるけどちゃんと生えるから毎日飲むんだぞ
0649デフォルトの名無しさん
2012/08/20(月) 20:52:47.64あなたならどっちがほしいですか?
0650デフォルトの名無しさん
2012/08/21(火) 00:30:57.130651デフォルトの名無しさん
2012/08/21(火) 00:33:28.670652デフォルトの名無しさん
2012/08/21(火) 09:36:55.730653デフォルトの名無しさん
2012/08/21(火) 10:10:58.03すいませんこれなんでエラーになるのかよくわからないんですがなぜでしょうか
マッチする関数がないとコンパイラがいうのですがそうは思えません・・・
0654デフォルトの名無しさん
2012/08/21(火) 10:17:50.59http://ideone.com/EbsJl
0655デフォルトの名無しさん
2012/08/21(火) 13:18:08.380656デフォルトの名無しさん
2012/08/21(火) 13:23:05.08オーバーライドの内容によっては、な。
0657デフォルトの名無しさん
2012/08/21(火) 13:47:35.28http://ja.wikipedia.org/wiki/リスコフの置換原則
S が T の派生型であれば、プログラム内でT 型のオブジェクトが使われている箇所は
全て S 型のオブジェクトで置換可能であり、それによってプログラムの動作は全く変化しない
って書かれてるんだけどこれマジで?
「正常に動作する」とかなら分かるけど「動作は全く変化しない」なら
ポリモーフィズム全否定になると思うんだが
というかTが純仮想だったらどうすんのかと
0658デフォルトの名無しさん
2012/08/21(火) 13:51:32.52純仮想云々は撤回する
0659デフォルトの名無しさん
2012/08/21(火) 17:44:19.62>なお、これが派生型の唯一の定義ではない
と書いてあるじゃん
仮想関数が派生型と基本型で動作が違う事はいくらだってある
無理にC++に当てはめようとする事自体おかしい
0660デフォルトの名無しさん
2012/08/21(火) 17:55:06.09コマンドプロンプトで動くコンソールプログラムで
実行すると標準入力待ちになり、入力が送られると演算して標準出力に結果を返し、再び標準入力待ちになるプログラムがあるとします。
(例えば整数を受け付けて素因数分解して返すようなものです)
このプログラムを別のwindowsプログラミングのプロジェクトで利用したい場合どのようにすればいいのでしょうか?
関数としてShellExcecuteやSystemといったものがあることはわかったのですが、
理解不足からか目的にあった使い方ができるようには思えませんでした。
要点をまとめますと、コンソールプログラムの標準入出力を扱うことがc++のwindowsプログラミングでは可能なのかということです。
よろしくお願いします。
0661デフォルトの名無しさん
2012/08/21(火) 18:19:45.440662デフォルトの名無しさん
2012/08/21(火) 18:24:32.45それはつまり
リスコフの置換原則についてはポリモーフィズム全否定であってるってこと?
0663デフォルトの名無しさん
2012/08/21(火) 18:29:49.250664デフォルトの名無しさん
2012/08/21(火) 18:34:30.64Windows前提で細かい制御がしたいならCreateProcessで
STARTUPINFOのhStdInput, hStdOutput, hStdErrorを指定
0665デフォルトの名無しさん
2012/08/21(火) 19:44:40.16ありがとうございます。
FILE *fp=popen("実行ファイル > 出力ファイル","w")
fputs("入力",fp)
while(出力待ち)
fputs(…)
…
といった感じでしょうか。いろいろ試してみたいと思います。
PHPには両方向のパイプがあるみたいですね。
>>664
まだ詳しくは見れていませんが
こういうのがあればいいなと思っていた情報のようです。
根本から管理できてもいいんじゃないかとは考えていました。
ありがとうございました。
0666デフォルトの名無しさん
2012/08/21(火) 19:56:25.03http://www2.ocn.ne.jp/~yamagu/object/LSP-J.pdf
wikipediaなんかあてにせずこっち読んだほうがいい
0667デフォルトの名無しさん
2012/08/21(火) 20:11:04.75サンクス、把握した
wikipediaのあの文と>>662-663は間違いだな
0668デフォルトの名無しさん
2012/08/21(火) 23:21:46.59strstreamを継承して、フラッシュされるとバッファ中の文字列をOutputDebugStringに渡し、バッファをクリアするクラスを考えております。
フラッシュの際に呼び出される関数の名前を教えて下さい。
また、フラッシュの際に呼び出される関数を上記の内容でオーバーライドするだけでよいのでしょうか。
0669デフォルトの名無しさん
2012/08/21(火) 23:23:44.620670デフォルトの名無しさん
2012/08/22(水) 00:01:33.26そもそも基底クラスとしてデザインされていなさそうなstrstreamとそのバッファを継承するのも嫌な予感がします。
両方やめておきます。お答えしていただきながら申し訳ありません。
0671デフォルトの名無しさん
2012/08/22(水) 00:22:38.46class Sample {
string name;
string groupe;
public:
Sample(string const & n, string const & g): name(n), groupe(g) { }
Sample(string const & n, string && g): name(n), groupe(move(g)) { }
Sample(string && n, string const & g): name(move(n)), groupe(g) { }
Sample(string && n, string && g): name(move(n)), groupe(move(g)) { }
};
上のように引数がたくさんあるとconst & と && の両方を書くのがめんどくさいんですが
どうにかして一発で書く方法はありませんか?
0672デフォルトの名無しさん
2012/08/22(水) 00:22:42.12strstreamなんて非推奨クラスに囚われたのが敗因
0673デフォルトの名無しさん
2012/08/22(水) 00:24:17.87テンプレート
0674デフォルトの名無しさん
2012/08/22(水) 00:59:09.35そうかもしれません。
プログラミングメモ日記というブログに丁度いいサンプルがあったので、いただきました。
0675デフォルトの名無しさん
2012/08/22(水) 11:24:47.25可能な限り守るとかなり保守性高くなるね
再利用を考えたコンポーネントはすべて準拠するべきだなこれ
0676デフォルトの名無しさん
2012/08/22(水) 14:18:09.070677デフォルトの名無しさん
2012/08/23(木) 13:09:52.50せっかくクラスをカプセル化して再利用性を高めたのに
例外とかいう糞システムのせいでカプセル化した中身を変更したときに
クライアントコードの整合性が失われる可能性があるというのは由々しき事態だと思うのですが
例外信者のみなさんはこの問題についてどう考えているのでしょうか?
0678デフォルトの名無しさん
2012/08/23(木) 13:55:44.780679デフォルトの名無しさん
2012/08/23(木) 14:02:56.14突然なにいってんの?
0680デフォルトの名無しさん
2012/08/23(木) 15:23:36.100681デフォルトの名無しさん
2012/08/23(木) 15:25:46.11ファイルストリームデストラクタで閉じろバーカ
0682デフォルトの名無しさん
2012/08/23(木) 15:26:53.370683デフォルトの名無しさん
2012/08/23(木) 18:59:12.900684デフォルトの名無しさん
2012/08/23(木) 19:01:00.09インターフェースの実装を切り分けが例外が存在することによって不可能になる
終わってるなこの欠陥システム
0685デフォルトの名無しさん
2012/08/23(木) 19:07:21.920686デフォルトの名無しさん
2012/08/23(木) 19:20:31.140687デフォルトの名無しさん
2012/08/23(木) 19:21:21.43力尽きる
0688デフォルトの名無しさん
2012/08/23(木) 19:24:52.92┏┳┳┓ / \ ..┏┳┳┓
┏┫┃┃┃ / /・\ /・\ \ .┃┃┃┣┓
┃┃┃┃┣┓|  ̄ ̄  ̄ ̄ |┏┫┃┃┃┃
┃ ┃┃| (_人_) |┃┃ ┃
┃ 珍カス ..┣| \ | |┫. STOP!┃
┗━━━━┛\_ ... \_| _ /...┗━━━━┛
┏┻┓┃
.. ┏━┛ ┣┻┓
.... ┗━━━┫ ┗━┓
.. ┗━━━┛
0689デフォルトの名無しさん
2012/08/23(木) 23:47:18.110690デフォルトの名無しさん
2012/08/24(金) 01:06:48.69実装に依存するコードで受けてるクライアントが悪いか、クライアントを
そうせざるを得ない状況に追い込んだライブラリ側が悪い。これは戻り値を
含めてどのエラー通知方法でも発生しうる問題で、例外のせいじゃない。
たとえば >684 のように例外を投げるかどうかが実装に依存するという
ライブラリが提供されていたとして、例外をキャッチする以外に目的の
エラーを識別・捕捉する手段が提供されていないのであれば、ライブラリが
悪い。
この場合、内部で戻り値を使う実装に切り替わる可能性があったとしても
ライブラリのインターフェースで例外を投げるように統一してやる、あるいは
内部で例外をキャッチして戻り値に統一してやる、などをライブラリが責任を
もってやるべき。
0691デフォルトの名無しさん
2012/08/24(金) 01:42:09.63string Text;
while(List && getline(List,Text)) {
TextList.push_buck(Text);
}
このようにしてvector<string>TextListにList.txtの文章を一行づつコピーできる
と聞いたのですがどうしてかわかりません。
http://sato-si.at.webry.info/200703/article_1.html
を参考に
http://www.cppll.jp/cppreference/cppio_details.html#getline
のリファレンスと食い違うところがありまして・・・
0692デフォルトの名無しさん
2012/08/24(金) 01:48:16.86そのコードが「TextListにList.txtの文章を一行づつコピー」以外のどういう動作をすると思うの?
0693デフォルトの名無しさん
2012/08/24(金) 02:17:59.17メンテなしで放置されてるcppll.jpとかいう老害サイトのことは忘れろ
0694デフォルトの名無しさん
2012/08/24(金) 06:42:57.75std::getlineとifstream::getlineは違うからな
勘違いすんなよ
0695デフォルトの名無しさん
2012/08/24(金) 12:20:46.32なるほど、ありがとうございました
0696デフォルトの名無しさん
2012/08/24(金) 20:09:30.79boostは標準化委員会が作ってるtr1候補みたいなものだし
0697デフォルトの名無しさん
2012/08/24(金) 20:16:03.100698デフォルトの名無しさん
2012/08/24(金) 20:28:53.37やっぱ無いか・・・
ググれば物は色々あるから困るわけではないけど
0699デフォルトの名無しさん
2012/08/27(月) 13:04:33.08亀レスだがこれ一個だけで良い。
Sample(string n, string g): name(move(n)), groupe(move(g)) {}
デバッガで見ればわかるがコピーの回数は増えない。
0700デフォルトの名無しさん
2012/08/27(月) 13:21:24.65なるほど
0701デフォルトの名無しさん
2012/08/27(月) 13:29:04.22C++でも以下のような代入方法を使いたいのですが。
$body = <<<EOF
<代入文字列>
EOF;
0702デフォルトの名無しさん
2012/08/27(月) 13:50:17.901行で書くと長くなるのを分割したいのなら↓こういうのはどう?
const char* str =
"123456"
"234569"
"aslghgflafdh";
// str は 123456234569aslghgflafdh となる
0703デフォルトの名無しさん
2012/08/27(月) 14:06:58.14ありがとうございます。
0704デフォルトの名無しさん
2012/08/27(月) 14:42:41.72そんなものがあったら
boost.eggの悲劇はおきなかった
0705デフォルトの名無しさん
2012/08/28(火) 00:29:18.330706デフォルトの名無しさん
2012/08/28(火) 11:40:39.27そんな悲劇など無い
0707デフォルトの名無しさん
2012/08/28(火) 14:40:00.44boost.oven
boost.range
0708デフォルトの名無しさん
2012/08/28(火) 17:08:35.67卵にオーブンレンジ……って何だ?
0709デフォルトの名無しさん
2012/08/28(火) 17:48:38.33参考になりそうなサイト読んでもチンプンカンプン
0710デフォルトの名無しさん
2012/08/28(火) 17:55:58.75C++ 七不思議の一つに数えても良いと改めて思いました 」
http://d.hatena.ne.jp/iorate/20110612/1307902555
0711デフォルトの名無しさん
2012/08/28(火) 17:59:06.51テキストエディタ、画像編集アプリ、ゲームなどを試しに作ってみるとか
0712デフォルトの名無しさん
2012/08/28(火) 17:59:57.88調べてチャレンジしてみます
ありがとう
0713デフォルトの名無しさん
2012/08/28(火) 18:03:08.81そのまま教科書を読み進める
0714デフォルトの名無しさん
2012/08/28(火) 18:03:11.17ライブラリの補完が優先するような分野じゃなかったて事っしょ
0715デフォルトの名無しさん
2012/08/28(火) 18:05:14.01みたいなの欲しいな
誰か有志で作らないの?
githubあたりで
0716デフォルトの名無しさん
2012/08/28(火) 18:51:38.79boost naming ルールぐらいは守る
name space は先取りされたら諦める とにかく他と重ならないようにする
0717デフォルトの名無しさん
2012/08/28(火) 18:55:53.00goost (github boost)
というname space を使う人は少なくともこのルールを守ろう
まずは
goost::egg
だ
0718デフォルトの名無しさん
2012/08/28(火) 19:07:05.610719デフォルトの名無しさん
2012/08/28(火) 19:42:56.010720デフォルトの名無しさん
2012/08/28(火) 20:12:05.68これは劣等遺伝子を持つチョン特有のもので、最近もジャップスレ立てていた犬猿単細胞がファビョったので
容易くレイプ劣等チョン遺伝子を持っている事が分かります。分かりやすいですね?
チョン語と日本語はそっくりな発音が多いとされる。これは、チョンが朝鮮併合後に日本語から
取り入れたものである。つまり、当時のチョン語では単語が足りず、文法も原始的だったのだ。
併合後、日本から取り入れたために発音その他が同じものが多く残っているのである。
当時のチョンは、当時の日本人がびっくりするくらいの土人乞食そのものであったのだ。
日本の朝鮮併合前の写真である(当時のチョン半島の写真)。
当時のチョン半島が如何に土人乞食の文化がまるでないカス民族であったかが分かるだろう。
これがチョン歴史の真実である。乳丸出しの民族衣装がチョンのリアルの民族衣装である。
ttp://www13.plala.or.jp/keibagogo/img/chosen2.jpg
ttp://nandakorea.sakura.ne.jp/img/hitob.jpg
ttp://www13.plala.or.jp/keibagogo/img/chosen3.jpg
ttp://blog-imgs-32.fc2.com/x/i/a/xianxian8181/CHONONNA.jpg
なのでクソを喰う風習も真実ならば、嫁入り前の娘を父親がパンパンと犯すレイプ文化も
リアルにチョンの実態そのものである。チョンが歴史を捏造するのは、こういう恥辱に
まみれた人以下の文化しかない真実を隠そうとしているだけなのだが、現在もチョンは
犯罪とレイプしかしない屑以下の存在である。何でもかんでも捏造し、まさに生きている
価値すらない。チョンと在日チョンは一匹残らず皆殺しにしなければならない。
数学五輪に各国が力を入れていないだけの話ですね。その間隙をぬって一位になったチョンが
工業力で優秀ですか?ノーベル賞を一人でも輩出しましたか?
製品をコピーして低価格で販売するだけしか能がチョンが何を言っているのでしょうか。
自己満足は楽しいですか?
0721デフォルトの名無しさん
2012/08/28(火) 20:17:24.49http://blog.livedoor.jp/googleyoutube/archives/51763377.html
0722デフォルトの名無しさん
2012/08/28(火) 20:18:59.83goost::oven
は予約で
hamigakiも一部改変して使いまわししたい
0723デフォルトの名無しさん
2012/08/28(火) 23:13:10.46> 思いました (参照).
http://boost.2283326.n4.nabble.com/Egg-review-result-td2708631.html
不採用の理由がきっちり書いてあるじゃねーか。これなら入らなかったのは
悲劇でもないし不思議でもないな。
よく知らないが、その後作者の動きが見られなくなってることのほうに悲劇や
不思議の気配を感じる。
0724デフォルトの名無しさん
2012/08/29(水) 03:35:38.870725デフォルトの名無しさん
2012/08/29(水) 12:58:32.17「3つの変数のうち2つの変数が1である場合」という条件文を作りたいのですが、
そういった事が可能な命令についてわかるサイト等ありますか?
0726デフォルトの名無しさん
2012/08/29(水) 13:11:05.310727デフォルトの名無しさん
2012/08/29(水) 13:23:45.090728デフォルトの名無しさん
2012/08/29(水) 16:57:55.08条件式が真だった回数を数えておく。
0729デフォルトの名無しさん
2012/08/29(水) 17:48:39.830730デフォルトの名無しさん
2012/08/29(水) 18:13:04.54Sleep(100); ってすれば100msスレッドが中断されけど、
これってOSレベル(と言ったらいいのかな?深いところ)
ではどういう実装になってるのでしょうか?
学校でマイコン実験(Z80)があり、CPUの周波数に合わせて、
無駄な命令(PUSH POPを繰り返す等)をループさせれば、
Sleep(x); みたいになるよと分かったのですが、市販のCPUはHzが違います。
Hzバラバラなのになんで一定時間ってできるの?
わかったとしても、GHzレベルですし、ループに必要なスタックとか足りるの?
そもそもPCって0と1しか扱えないのになんで時間わかるの?
などとわけがわからなくなってきました。
どなたか私に教えてください…
0731デフォルトの名無しさん
2012/08/29(水) 18:28:41.70スピンループと言う
>深いところ
「タイマー割り込み スケジューラ sleep」でググってみたらいいよ
0732デフォルトの名無しさん
2012/08/29(水) 18:29:19.43スレッドがスリープ状態が判別する手段を用意して、
スリープ状態のスレッドには CPU 時間を割り当てない、とか。
0733デフォルトの名無しさん
2012/08/29(水) 18:34:34.370734デフォルトの名無しさん
2012/08/29(水) 20:40:12.92error: cannot pass objects of non-trivially-copyable type ‘struct std::string’ through ‘...’
って出たんだけれどこれなんですか?
エラー部分は
printf("%s\n",s);
sはstring型です。
0735デフォルトの名無しさん
2012/08/29(水) 21:03:23.380736デフォルトの名無しさん
2012/08/29(水) 21:53:50.570737デフォルトの名無しさん
2012/08/29(水) 23:05:30.45stringじゃなくてcharの配列で受け取る扱いだからポインタで渡せってことでおk?
0738デフォルトの名無しさん
2012/08/29(水) 23:06:30.33>>735だった
0739デフォルトの名無しさん
2012/08/29(水) 23:22:38.31解決方法はそれでいいけど、エラーメッセージが言ってるのは
可変長引数 ... に std::string を渡せないってこと。
受け側の扱いは関係ない。
規格の 5.2.2/7 によると "... is conditionally-supported with implementation-defined semantics." らしい。
0740デフォルトの名無しさん
2012/08/30(木) 07:57:28.020741デフォルトの名無しさん
2012/08/31(金) 17:25:38.43どんなバグ?
バッファが別々だからflushしないと混ざるのは知っているけどそれはバグとは言えないし……
0742デフォルトの名無しさん
2012/09/01(土) 10:31:52.77って思ってるんだろ。
0743デフォルトの名無しさん
2012/09/01(土) 10:35:00.860744デフォルトの名無しさん
2012/09/01(土) 14:11:47.000745デフォルトの名無しさん
2012/09/01(土) 14:13:37.520746デフォルトの名無しさん
2012/09/01(土) 16:52:48.93まあcstdioあるしね……でも、普通coutだけ使わない?
>>740は何故混ぜたし
0747デフォルトの名無しさん
2012/09/01(土) 18:07:38.30http://engawa.2ch.net/test/read.cgi/poverty/1346486057/
韓国放通審議委"親日称賛サイト制裁する"
31日、東亜日報の報道によれば、韓国放通審議委が最近急増している親日を擁護して、
韓国人、韓国史を非難する内容を主題にしたウェブサイトとブログを制裁する方針を決定した。
マネートゥディ イシューチーム イ・チェミン記者
ソース:マネートゥデイ(韓国語) 2012.08.31 08:50
http://www.mt.co.kr/view/mtview.php?type=1&no=2012083108223255359
0748デフォルトの名無しさん
2012/09/01(土) 21:37:45.71私も
#inlcude <iostream>
で
std::cout だけですよ。
C互換というで入れないわけにはいかんのでしょうね。
new と malloc() の併用も動くんでしょうけど、ごっちゃはきもいっすよねぇw
0749デフォルトの名無しさん
2012/09/01(土) 22:05:26.54そのクラスのメンバ変数を呼ばなきゃいけなくなったんだけど
ttp://codepad.org/lC9qgKyCの書き方って可搬性のある書き方になってる?
黒魔術?っぽいかもしれないからけしからんって言われそうだけど…
0750749
2012/09/01(土) 22:07:50.46呼び出すのはメンバ変数じゃなくてメンバ関数ね
0751デフォルトの名無しさん
2012/09/01(土) 22:20:46.580752デフォルトの名無しさん
2012/09/02(日) 01:59:02.90共用体とC形式キャスト使っといて可搬性って寝言か?
規格レベルの可搬性なら完全に無い
0753デフォルトの名無しさん
2012/09/02(日) 03:28:27.03ファイル関係のエラー処理中にユーザーの意思確認をしたいんだけどその意思確認でエラーがでたら困ります
0754デフォルトの名無しさん
2012/09/02(日) 03:29:44.890755デフォルトの名無しさん
2012/09/02(日) 08:34:48.36組み込みとかで、全て自分で作ってるのであれば (ソフト的な) エラーをださない
ことは可能かもしれないけど、OS使ってたら >>754 の言うメッセージボックスを
だすだけでも、内部でメモリーとかハンドルリソース等が不足する事態に「絶対に」
ならないとは言えない。
いったいどこまでの絶対が必要なの?
0756デフォルトの名無しさん
2012/09/02(日) 09:30:30.950757デフォルトの名無しさん
2012/09/02(日) 09:35:33.89OSなどの下位レイヤーでの動作なんてユーザモードで動作する一アプリが保証することなど出来ないわけで
0758デフォルトの名無しさん
2012/09/02(日) 10:14:36.230759デフォルトの名無しさん
2012/09/02(日) 10:17:50.52保証することは出来ません
0760デフォルトの名無しさん
2012/09/02(日) 10:21:10.78その新しいエラーを処理するときにまたエラーがでたら…
そのまたまた新しいエラーの処理でまたエラーが…
0761デフォルトの名無しさん
2012/09/02(日) 10:27:53.33readmeにでも連絡先や掲示板のアドレスを書いておく
0762デフォルトの名無しさん
2012/09/02(日) 10:46:21.18マジレスしておくと...
(1) ファイル関連で例えばユーザーが指定したファイルがないとかの想定されるエラー
(2) プログラム上ありえない状態になった時などのエラー
を分けて考えるべき。
大抵のアプリなら、(2) の状態になったことを検出したら >>761みたいな処理でいい。
で、(1) のエラー処理中は基本的に他のエラーが発生しないように作って、それでも
エラーが発生したら (2) とするようにするのが普通。
念のために書いておくけど、上の (1) (2) の区分けは、一例でアプリによって変化する、
要件からそういうことを決めるのも、設計の一部。
0763デフォルトの名無しさん
2012/09/02(日) 11:04:38.11vector<int>::iterator it;
っていう文章がコンパイルでit :定義されていない識別子ですって出るんですが
どうすればいいのでしょうか
0764デフォルトの名無しさん
2012/09/02(日) 11:15:20.16incledeかnamespaceが足りないんじゃないの?
http://ideone.com/SWqmW
http://ideone.com/VB2Bc
0765デフォルトの名無しさん
2012/09/02(日) 11:25:32.55これがコンパイルできるかどうかやってみて
ttp://ideone.com/fXdyx
0766デフォルトの名無しさん
2012/09/02(日) 11:30:51.72includeやusingは書いてあるんですけど
std::vectorって書いたらvectorはstdのメンバーではありませんって出ました。
>>765
テスト用に使っていたWin32コンソールプロジェクトだとコンパイルできませんでしたが
新しく空のプロジェクトファイルを生成したらコンパイルできました。
何が違うんでしょう…
0767デフォルトの名無しさん
2012/09/02(日) 11:48:49.49レスありがとうございます。
C形式キャストはもともとreinterpret_castで書いてたんですが、アップするにあたり
短い方がいいかなと思ってC形式にしてました。それがダメだったのはちょっと意外でしたが…
共用体がアウトというのはどういった理由からなのでしょうか?
0768デフォルトの名無しさん
2012/09/02(日) 13:28:51.19>>765が空のプロジェクトでコンパイルできるなら
テスト用のプロジェクト内の設定かプロジェクトのファイル内の記述のどこかがおかしいんだろ
問題が再現する最小のコードを貼れ
0769デフォルトの名無しさん
2012/09/02(日) 13:59:35.900770デフォルトの名無しさん
2012/09/02(日) 14:01:26.18>(unsigned int)this
>>752じゃないけど、とりあえず殆どの64bit環境でアウトじゃね
0771デフォルトの名無しさん
2012/09/02(日) 14:26:23.88Unionで非PODが解禁されるのはC++11からだけど対応状況はどうなんだろうとか
環境決め打ちのコードにしか見えない
0772デフォルトの名無しさん
2012/09/02(日) 14:31:35.89http://www.kijineko.co.jp/tech/cpptempls/struct/base_of.html
を使って少し修正してみた
http://ideone.com/50bZ4
多少はマシ・・・かもしれない
0773デフォルトの名無しさん
2012/09/02(日) 14:35:10.89http://ideone.com/1Avos
0774デフォルトの名無しさん
2012/09/02(日) 14:49:11.47ありがとうございます。
フムフム 確かにポインタサイズを考慮するの忘れてました…
>771
元のコードのunionてpod型しか入ってないと思うんですが、そうでもないんでしょうか?
>773
ほとんどこれで正解でしょうか?
テンプレート奥が深いですね。
0775デフォルトの名無しさん
2012/09/02(日) 18:48:14.19竹 島 は 日 本 固 有 の 領 土 で す 。
┌─┐
│●│
├─┘
|
/!\
_ __/-- ::!\ ./\_/"r---、
/ !、__/ ヽ ヽ \ /ヽ / /ヽ ヾi___
,/ i_.: ヽ \ ! \ ....../;;;;;i .\.!. !:::: " ヽヽ
/ /:: :::: /:::: :::::i.:::::::'''''\|_/ /i __ヽ
::::::...... / / /::::::::i./ :: .\.:::::::::''' 丶 ̄ヽ───""".::::.........
/ :::i _::::::::::::::::/ \
::::::::::::::::: ̄ヽ__ /丶--、___−--! ̄"" ザザァ ───── …
''':::::::::::::::::::::::::::'''''''''''''''...................
...::::::::::::::::::'''''
0776デフォルトの名無しさん
2012/09/03(月) 07:44:52.410777デフォルトの名無しさん
2012/09/03(月) 08:29:06.22単に書籍を読んで理解した気になってるなら、おめでたい人だね。
0778デフォルトの名無しさん
2012/09/03(月) 08:39:20.070779デフォルトの名無しさん
2012/09/03(月) 08:40:17.170780デフォルトの名無しさん
2012/09/03(月) 08:57:23.880781デフォルトの名無しさん
2012/09/03(月) 09:37:44.23CPPは入門書読んで加えて良い習慣を身につけてテンプレート覚えて標準イテレータなどの要求を調べてオブジェクト指向学んで他にもいろいろやって
それで最終的にはどうしても必要なかったり指定されなければCPPではなくC#やJAVAなど他の言語で書くようになった
0782デフォルトの名無しさん
2012/09/03(月) 09:40:53.04必要なければJavaで十分
C#は知らん
0783デフォルトの名無しさん
2012/09/03(月) 09:46:30.18技術者的に絶対とか完璧って言葉に反応しがちな人も多いからね
ちなみに俺もです
それはともかく
>>776
書籍「C++の設計と進化」とかもオススメ
仕様の背景も書かれてる
0784デフォルトの名無しさん
2012/09/03(月) 09:52:51.70勉強なら仕様書オススメ
合わせて主要コンパイラがどう実装してるか調べれるとかなり力になる
0785デフォルトの名無しさん
2012/09/03(月) 15:07:55.03MsgWaitForMultipleObjects(1, 0, 0, timeout, -1)
上記で期待通りの動きをしているようですが、これで問題がないのか不安です。
pHandlesに0を指定した場合の挙動を解説しているところはありませんか?
nCountに0を指定すると、ノータイムで0が返ってきました。
0786デフォルトの名無しさん
2012/09/03(月) 16:50:52.57了解です。ネットとかでもいろいろしらべてみよーかな
0787デフォルトの名無しさん
2012/09/03(月) 16:59:27.29安価ミス。安価無し
0788デフォルトの名無しさん
2012/09/04(火) 20:57:36.780789デフォルトの名無しさん
2012/09/04(火) 22:02:03.46なにもんだよこいつ
0790デフォルトの名無しさん
2012/09/04(火) 22:11:22.560791デフォルトの名無しさん
2012/09/04(火) 22:12:13.990792デフォルトの名無しさん
2012/09/05(水) 10:03:54.58神B「神々の」
神A・B「遊び」
0793デフォルトの名無しさん
2012/09/05(水) 18:49:44.28(ジェイミー・ザウィンスキー)
http://goo.gl/xFusD
0794デフォルトの名無しさん
2012/09/05(水) 18:56:01.260795デフォルトの名無しさん
2012/09/05(水) 19:31:58.720796デフォルトの名無しさん
2012/09/06(木) 15:10:49.080797デフォルトの名無しさん
2012/09/07(金) 19:36:59.060798デフォルトの名無しさん
2012/09/08(土) 06:11:37.43「原理原則」や「机上の空論」を正論と思って賞賛してよいのは中学二年生まで
0799デフォルトの名無しさん
2012/09/08(土) 10:40:30.86DirectXをWindowsプログラミングで呼び出すとMicrosoft
のお約束事に付き合わされてうんざりする。
Open Dynamic EngineではコンソールプログラムからOpenGL
呼び出しているけど、ああいうことできないのかなと思って。
0800デフォルトの名無しさん
2012/09/08(土) 10:41:37.910801デフォルトの名無しさん
2012/09/08(土) 11:50:19.650802デフォルトの名無しさん
2012/09/08(土) 11:59:13.880803デフォルトの名無しさん
2012/09/08(土) 13:29:25.19必要ならその部分を自分でやればいい話
0804デフォルトの名無しさん
2012/09/08(土) 18:06:41.54this.a や me.a
って書き方は存在しないのですか?
メソッド内での定義変数なのかグローバル変数なのか、
はたまたクラスプロパティなのか判断できない><
0805デフォルトの名無しさん
2012/09/08(土) 18:09:41.380806デフォルトの名無しさん
2012/09/08(土) 18:09:55.200807デフォルトの名無しさん
2012/09/08(土) 18:23:48.91新規win32フォームアプリケーションの作成後に
標準出力を使おうとしました。
error C2039: 'cout' : 'std' のメンバーではありません。
error C2065: 'cout' : 定義されていない識別子です。
となります。
0808デフォルトの名無しさん
2012/09/08(土) 18:25:47.460809デフォルトの名無しさん
2012/09/08(土) 18:31:24.64int _tmain(int argc, _TCHAR* argv[])
{
std::cout << 100 << std::endl;
std::cout << "test" << std::endl;
return 0;
}
だめだって!!
0810デフォルトの名無しさん
2012/09/08(土) 18:33:43.17できた。ありがとう!
#include <iostream>
0811デフォルトの名無しさん
2012/09/08(土) 18:45:05.92やってもいいけど、やる必要なんてあるん?
>>804 がそもそも普通のグローバル変数を使うのが悪い。
せめて名前空間を使ってほしい。
とは言っても、過去に作られたプログラムをメンテナンス
しなければならない立場かもしれんが。
でも、それならこんな質問するわけないし、あれ?
>this.a や me.a って書き方は存在しないのですか?
単にアロー演算子知らなかっただけか。
0812デフォルトの名無しさん
2012/09/08(土) 18:47:03.95馬鹿ですいません。phpプログラマーなんですが、最近はvb6.0が多くてアロー演算子忘れてましたwww
0813デフォルトの名無しさん
2012/09/08(土) 18:51:06.44そんなん嫌や。
まあ、directXとコンソールでググれば一応でてくるがな。
0814デフォルトの名無しさん
2012/09/08(土) 19:05:31.86バカアローwww
0815デフォルトの名無しさん
2012/09/08(土) 19:16:55.89>>814
>>814
0816デフォルトの名無しさん
2012/09/08(土) 19:41:48.05の第一引数に
std::string message;
message = "メッセージ"
message.data()
を入れても駄目なの???
0817デフォルトの名無しさん
2012/09/08(土) 19:42:49.220818デフォルトの名無しさん
2012/09/08(土) 19:48:20.45そのコードを閲覧しに行く大馬鹿野郎が居ると聞いて。
0819デフォルトの名無しさん
2012/09/08(土) 19:56:20.07System::String でかいけつ
0820デフォルトの名無しさん
2012/09/08(土) 20:27:27.13Thread^ _thread = gcnew Thread( threadDelegate );
スレッド終了できへんでー
0821デフォルトの名無しさん
2012/09/08(土) 20:50:00.77ref class kitigai
{
public:
void kurukuru (void)
{
while(1) {
MessageBox::Show("ループ中");
if (this->_sending == false) {
break;
}
}
MessageBox::Show("ループ終わり");
delete this->_thread;
}
public:
void start(void)
{
if ( ! this->_thread) {
this->_sending = true;
this->_thread = gcnew Thread( gcnew ThreadStart(this, &kitigai::kurukuru) );
this->_thread->Start();
}
}
public:
void end(void)
{
this->_sending = false;
}
};
0822デフォルトの名無しさん
2012/09/08(土) 21:12:28.06endで↓するべき
this->_sending = false;
this->_thread->Join();
delete this->_thread;
0823デフォルトの名無しさん
2012/09/08(土) 21:31:21.80^ って何をする演算子なの?
0824デフォルトの名無しさん
2012/09/08(土) 21:33:14.04それC++/CLIのGCリソースの参照を保持する演算子
C#なら不要
0825デフォルトの名無しさん
2012/09/08(土) 22:14:53.16int x;
};
class A_Class{
B_Class B;
};
int main()
{
A_Class A;
}
としたとき、main関数内において、
A_ClassのインスタンスAが持つ、B_ClassのインスタンスBのint型のメンバ変数xに
アクセスするにはどうすればいいんでしょうか?
0826デフォルトの名無しさん
2012/09/08(土) 22:15:26.700827デフォルトの名無しさん
2012/09/08(土) 22:26:41.050828デフォルトの名無しさん
2012/09/08(土) 22:57:32.92friendにしてもいいし
危険だけど分かりきっているのならそれもあり
アクセサを用意するとどこからでもアクセス出来るようになってしまう
0829デフォルトの名無しさん
2012/09/09(日) 09:50:43.75ありがとうございます、アクセサで値の操作が出来ました。
0830デフォルトの名無しさん
2012/09/09(日) 18:58:30.34開発環境はXPとVisualStudio2010です。
学生の頃はあまりプログラムやってなかったですし、
入社して半年はExcel VBAしかやってません。
先日C++での開発の方に移動すると聞いて勉強を始めたのですが、
変数の型が多すぎて何もわかりません><
お願いします。お助けください。
0831デフォルトの名無しさん
2012/09/09(日) 19:11:52.70http://www.stroustrup.com/bs_faq.html#learning
0832デフォルトの名無しさん
2012/09/09(日) 19:47:17.49ネットを色々見て過去4つほど実装したところで初めてリンクエラーが出ました。
実装方法は一緒のはずなので原因の検討が付かない(探しても分からない...)ので質問させてもらいます。
class CSingleton
{
public:
static CSingleton* GetInstance()
{
static CSingleton inst;
return &inst;
};
int func(){ return 1; };
private:
CSingleton();
~CSingleton();
CSingleton( const CSingleton& );
CSingleton& operator=( const CSingleton& );
};
int main()
{
CSingleton::GetInstance()->func();
return 0;
}
// end of file
上記はいつもの実装方法ですがエラーが...。
今までは問題なかったんですけど、何が原因なのでしょうか?
解決方法があれば教えていただけませんか。
0833デフォルトの名無しさん
2012/09/09(日) 19:49:09.640834デフォルトの名無しさん
2012/09/09(日) 19:51:21.72独習C++
effective c++
more effective c++
modern c++ design
n3337
0835デフォルトの名無しさん
2012/09/09(日) 19:53:10.51質問とは関係ないけどシングルトンの設計間違ってるよ
0836デフォルトの名無しさん
2012/09/09(日) 19:54:35.51すみません行数オーバーで投稿できなかったので削りました...。
1>Main.obj : error LNK2001: 外部シンボル ""private: __thiscall CSingleton::CSingleton(void)" (??0CSingleton@@AAE@XZ)" は未解決です。
1>Main.obj : error LNK2001: 外部シンボル ""private: __thiscall CSingleton::~CSingleton(void)" (??1CSingleton@@AAE@XZ)" は未解決です。
↑がエラーになります。
0837デフォルトの名無しさん
2012/09/09(日) 19:55:58.24コンストラクタとデストラクタ書けばいいよ
0838デフォルトの名無しさん
2012/09/09(日) 20:02:43.84あ、確かに書いてませんでした...。
ありがとうございます!そしてお騒がせしました...。
0839デフォルトの名無しさん
2012/09/10(月) 21:22:32.54OutputDebugStringで出力に表示されません。
出力元の表示(S): で デバッグ/ビルド/ビルドの順番 で デバッグ に表示されるのではないですか?
もう意味ワカrませぬ
0840839
2012/09/10(月) 21:24:51.310841デフォルトの名無しさん
2012/09/10(月) 21:27:36.79たった2時間かよ、帰れカス
0842デフォルトの名無しさん
2012/09/10(月) 21:36:56.89自分が困っているのはwin32フォームアプリケーションです。
試しに新規作成で試してみました。
コンソールアプリケーション は ○
win32フォームアプリケーション は X ← 識別子が見つかりません
助けてください。
0843デフォルトの名無しさん
2012/09/10(月) 21:39:54.72////////, ''" ヽミ川川
|//////, '" ',川川 えっ!何この偉そうな勘違い童貞・・・
川/////, '",,,,,,,,,,,,,,,, r''"',川||
川f 川f´ ,ィ::ラ',川
川ヘ | 弋て::>  ̄ ',リ
川 ヘ.__ ヽ /7! ごめん…
川川 ヘ _,. '-‐''"´y' //
川川リヘ , '´ __,,,/ / / ちょと…まじで気持ち悪い!
川川川|/ '"´ , '´ /||
川川川| /川 (都内在住 22歳 OL)
0844デフォルトの名無しさん
2012/09/10(月) 21:58:00.042時間だろうが1年だろうが関係ないだろ
こういう頑張ってますアピールしたがるクズって実際使えない
お前に出力表示してもらわなくても誰一人困らないから失せろ
0845デフォルトの名無しさん
2012/09/10(月) 21:58:16.78お前が困っても俺は困らない。
お前が存在しなくても誰も困らない。
0846デフォルトの名無しさん
2012/09/10(月) 22:01:57.06って言えばタダで情報もらえると思ってるゴミ野郎だろ。
0847デフォルトの名無しさん
2012/09/10(月) 22:09:12.41参照カウンタ式のスマートポインタのコンテナをメンバ変数に置いて、それのアドレスを外部に渡して使う時に、渡したものがもう渡した先で使わなくなってもスマートポインタ自体は削除されないの?
0848デフォルトの名無しさん
2012/09/10(月) 22:19:23.310849デフォルトの名無しさん
2012/09/10(月) 22:28:21.46なにいってるかわからないからインデントして書いて
0850デフォルトの名無しさん
2012/09/10(月) 23:52:40.68改行の有無はどうでもいいがなに言ってるのかわからない
とりあえず、コンテナの要素を削除すればその要素の中身も当然削除される
0851デフォルトの名無しさん
2012/09/11(火) 10:09:26.72エラーメッセージはそのまま書いて
>>847
スマポ自体の参照かポインタを外部に渡したのなら使い方が間違ってる
0852デフォルトの名無しさん
2012/09/11(火) 22:15:25.94listen(soc_waiting, 1);
soc = accept(soc_waiting, NULL, NULL);
hoge(soc){
}
みたいにsocをサブルーチンの引数にするときは
hoge(FILE *i)ですか?
hoge(int *p)ですか?
0853デフォルトの名無しさん
2012/09/11(火) 22:20:51.31bar
0854デフォルトの名無しさん
2012/09/11(火) 22:32:18.760855デフォルトの名無しさん
2012/09/11(火) 22:34:33.910856デフォルトの名無しさん
2012/09/11(火) 22:35:06.80int socを渡すんだからhage(int soc)だろう
0857デフォルトの名無しさん
2012/09/11(火) 22:47:10.840858デフォルトの名無しさん
2012/09/12(水) 09:18:59.59hoge厨はさっさと消えてね
0859デフォルトの名無しさん
2012/09/12(水) 11:34:44.250860デフォルトの名無しさん
2012/09/12(水) 11:37:53.35今回は来るの遅かったな
0861デフォルトの名無しさん
2012/09/12(水) 20:50:55.62hogehoge()
~hogehoge()
public:
hogehogehogehoge()
hogehogehogehoge(int hogehogehoge)
}
で、コードが醜くてこまってます
どうしたら良いですか?
0862デフォルトの名無しさん
2012/09/12(水) 20:54:40.89エレガントなコードだ
このままで何の問題も無いよ
0863デフォルトの名無しさん
2012/09/12(水) 21:04:51.61型の最大値を超えて捨てられた部分を手軽に得る方法は有りますか?
0864デフォルトの名無しさん
2012/09/12(水) 21:05:28.12うん、面白くない。
0865デフォルトの名無しさん
2012/09/12(水) 21:12:57.47捨てたら得られないので多倍長演算
ttp://written.4403.biz/archives/2009/04/visual-studio-2008-gmp.html
ttp://yoshiiz.blog129.fc2.com/blog-entry-400.html
0866デフォルトの名無しさん
2012/09/12(水) 21:34:49.580867デフォルトの名無しさん
2012/09/13(木) 07:09:36.93整数の倍の長さの浮動小数点数では乗算後に精度が落ちる場合がある。
0868デフォルトの名無しさん
2012/09/13(木) 07:53:28.35以前自前で作ってみたがへぼくて高速除算が実装できない
0869デフォルトの名無しさん
2012/09/13(木) 08:40:17.960870デフォルトの名無しさん
2012/09/13(木) 22:39:51.12Hoge hoge[10]; のように配列で宣言するとします。
hoge[0].GetMyno();のようにして自身の番号を知ることはできるでしょうか?
(この例では0が答え)
1つ考えた方法はstatic mCntのような静的メンバー変数を持って、
コンストラクタでこの変数をインクリメントする方法です。なにか問題点ありますでしょうか?
class Hoge {
int mNo;
static int Cnt;
Hoge() { mNo = Cnt; Cn
int GetMyno() { return mNo;}
}
0871デフォルトの名無しさん
2012/09/13(木) 22:43:45.660872デフォルトの名無しさん
2012/09/13(木) 22:52:46.82class Hoge {
int mNo;
static int Cnt;
Hoge() { mNo = Cnt; Cnt++; }
int GetMyno() { return mNo;}
}
です。気にしているのはインスタンス化される順番が
配列の要素番号順になっているかどうかです。これが崩れるとカウントアップの論理が崩れます。
0874デフォルトの名無しさん
2012/09/13(木) 23:03:23.30を用意すればいいと思うよ。
0875デフォルトの名無しさん
2012/09/13(木) 23:12:05.57常に保証されているのでしょうか?
0876デフォルトの名無しさん
2012/09/13(木) 23:12:28.07>>874のように領域を確保してからplacement newをした方が確実だな
これなら任意のコンストラクタを呼び出せる
デストラクタを自分で呼び出さないといけないか
0877デフォルトの名無しさん
2012/09/13(木) 23:52:18.44先頭要素のポインタを渡して差分をとるのは?
int Hoge::GetMyno(Hoge *first) const { return this - first; }
Hoge hoge[10];
hoge[0].GetMyno(hoge);
0878デフォルトの名無しさん
2012/09/13(木) 23:55:53.990879デフォルトの名無しさん
2012/09/14(金) 00:00:34.600880デフォルトの名無しさん
2012/09/14(金) 00:00:40.680881デフォルトの名無しさん
2012/09/14(金) 00:07:51.22つくって最初に
for (int i=0; i<10; ++i) hoge.SetMyno(i);
でよくね
0882デフォルトの名無しさん
2012/09/14(金) 00:11:20.89for(vector<hoge>::size_type i = 0, n = hvec.size(); i != n; ++i) {
hvec[i].SetMyno(i);
}
}
これでいいんだよ
C++奴隷って無駄に技巧こらそうとするからむかつくわ
0883デフォルトの名無しさん
2012/09/14(金) 00:26:17.65連続に確保されてるとは限らないからNG
0884デフォルトの名無しさん
2012/09/14(金) 00:29:19.21ついでに無駄に参照つかうのもやめてほしい
0885デフォルトの名無しさん
2012/09/14(金) 00:45:00.51ありがとう
メンバ変数ペロペロしたいけど我慢するわ
0886デフォルトの名無しさん
2012/09/14(金) 01:09:14.60配列なら &a[i] = a + i は保障されてるはずだが?
0887デフォルトの名無しさん
2012/09/14(金) 01:50:00.49> です。気にしているのはインスタンス化される順番が
> 配列の要素番号順になっているかどうかです。これが崩れるとカウントアップの論理が崩れます。
クラスの配列の各要素がコンストラクタで初期化されるときは添え字順に初期化される
0888デフォルトの名無しさん
2012/09/14(金) 09:16:14.10規格票で示してくれ
0889デフォルトの名無しさん
2012/09/14(金) 11:04:07.51> 12 Special member functions
> 12.6 Initialization
> 3 When an array of class objects is initialized (either explicitly or implicitly), the constructor shall be called
> for each element of the array, following the subscript order; see 8.3.4.
0890デフォルトの名無しさん
2012/09/15(土) 09:57:45.72不動小数点って、浮動小数点の対極だよな。
意味的には固定小数点の事だよな。
0891デフォルトの名無しさん
2012/09/15(土) 12:30:52.730892デフォルトの名無しさん
2012/09/15(土) 13:12:59.68簡単なことさえできず、しょんぼりしています。
Windowsフォームアプリケーションで、
TextBoxのValidateで、整数で0〜100とか指定したいのです。
以前は、コントロールからメンバ変数を作成してついでにValidationも設定できて
マクロが自動的に埋め込まれていたと思うのですが、そこで質問。
�@Validateのやりかたはどうしたらよいですか?
(フォーカス外れたときに自前でちくちく調べるしかない?)
�Aコントロールの値とメンバ変数間でコピーをしていたUpdateDataは廃止になった感じですか?
0893デフォルトの名無しさん
2012/09/15(土) 13:31:41.51(Win32API 使いまくるのは別にして。)
0894デフォルトの名無しさん
2012/09/15(土) 13:42:28.74それでアプリを作ろうと思わない方がいいよ
基本はC#で作って、速度が必要な所は#pragma unmanagedしたC++/CLIで作るか
C++で作ってC++/CLIで繋ぐというのが普通
0895デフォルトの名無しさん
2012/09/15(土) 13:43:31.560896デフォルトの名無しさん
2012/09/15(土) 14:32:16.25「Windowsのフォームを作るなら、基本はC#」ということですね。
従来の延長で作ることは諦めます。
0897デフォルトの名無しさん
2012/09/15(土) 16:02:12.29Expressはリソースエディタがないから凄く面倒くさいぞ
0898デフォルトの名無しさん
2012/09/16(日) 08:35:59.550899デフォルトの名無しさん
2012/09/16(日) 14:36:34.68VS2008でC++からVS2010でC++の壁はどうせ高そうなので
これを機にC#をやってみようと思います。
簡単なアプリならちょっと調べればできました。
0900デフォルトの名無しさん
2012/09/16(日) 14:48:57.760901デフォルトの名無しさん
2012/09/16(日) 17:44:49.55UDPを使ってsendtoで送信するとき,送る文字の型ってconst char *ですよね
unsigned char *型で送るにはどうすればいいですか?
0902デフォルトの名無しさん
2012/09/16(日) 17:49:33.320903デフォルトの名無しさん
2012/09/16(日) 17:51:29.860904デフォルトの名無しさん
2012/09/16(日) 17:58:04.86ありがとうございます
0905デフォルトの名無しさん
2012/09/16(日) 19:36:22.65もうね。やめた方がいいよ。プログラマー諦めろ。
0906デフォルトの名無しさん
2012/09/16(日) 21:42:31.460907デフォルトの名無しさん
2012/09/16(日) 21:52:22.50http://ja.wikipedia.org/wiki/%E3%83%9F%E3%83%A5%E3%83%BC%E3%83%86%E3%83%83%E3%82%AF%E3%82%B9
http://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%88%E3%83%9F%E3%83%83%E3%82%AF%E6%80%A7
ここら辺を読んで勉強してください
0909デフォルトの名無しさん
2012/09/16(日) 22:30:23.820910デフォルトの名無しさん
2012/09/16(日) 22:51:53.99いろいろ試しましたが、どうしても原点を軸に回転してしまいます。
D3DXQUATERNION q;
D3DXVECTOR3 v(0.0f, 1.0f,0.0f);
D3DXMATRIX mat;
q.x = q.y = q.z = 0;
q.w = 1.0f;
v.x = m_mat._21;
v.y = m_mat._22;
v.z = m_mat._23;
D3DXQuaternionRotationAxis(&q, &v, y);
D3DXMatrixRotationQuaternion(&mat, &q);
D3DXMatrixMultiply(&m_mat,&m_mat,&mat);
現状こんな感じですが、足りてないものってありますか?
criticalsection を注意深く配置する(いちどに二つのリソースを握らない)ことで、デッドロックは排除できるのでは?
スタベーションはスリープしているリソースの生起順に依存するからなあ‥‥OSにおまかせしか方法はないのでは?
0912デフォルトの名無しさん
2012/09/16(日) 23:29:05.37minix 本には、現実、ダチョウアルゴリズムをminixでも他の多くのosでも採用している、とありました。
異なる二つを同時に握らないようにして、あるいは握るのならば一気に全部握ってしまい握れなかったらあきらめるし握れたら分けてあげようなんて考えない、そしてあとは運にお任せしかないのでは?
眠った順に起きてくれることを保証してもらえればありがたいんだけれども。
0914デフォルトの名無しさん
2012/09/16(日) 23:57:37.64>現状こんな感じですが、足りてないものってありますか?
頭。
0915デフォルトの名無しさん
2012/09/17(月) 00:20:05.99運だと?さすが素人は言う事が違うな
minix 本には ostrich alogorithm ってかいてありますよ。http://ja.wikipedia.org/wiki/%E3%83%80%E3%83%81%E3%83%A7%E3%82%A6%E3%83%BB%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0
分野は違うけれども最強のシンプレックス法にも摂動問題がありますしね。
一度にひとつしかリソースを握らないように工夫するしかないのではないのでしょうか。それともスタベーションに対する有効な手法が存在するのでしょうか?
0917デフォルトの名無しさん
2012/09/17(月) 00:40:44.50姑息だな
情報はタダじゃねーんだよ
情報をお持ちなのならね
0919デフォルトの名無しさん
2012/09/17(月) 00:56:03.67そこは老獪と言った方がいいよ
Qはロートルだから
0920デフォルトの名無しさん
2012/09/17(月) 00:57:12.030921デフォルトの名無しさん
2012/09/17(月) 00:59:01.170922デフォルトの名無しさん
2012/09/17(月) 00:59:28.330923デフォルトの名無しさん
2012/09/17(月) 02:03:35.130924デフォルトの名無しさん
2012/09/17(月) 02:37:28.42PC98も高校になぜか残ってたし、研究室で未だ現役って可能性もある。
0925デフォルトの名無しさん
2012/09/17(月) 05:01:20.670926デフォルトの名無しさん
2012/09/17(月) 07:34:21.630927デフォルトの名無しさん
2012/09/17(月) 08:11:38.69体は大人、頭は子供 ってやつだろ。
0928デフォルトの名無しさん
2012/09/17(月) 09:41:46.25どうもです
アトミック操作は並列操作に対して安全にできる一連の処理のことで
ミューテックスはその実装手段の一つ
よく使われるもの(コンペアスワップなど)に関してはOSがミューテックスよりパフォーマンスのよいアトミック操作を提供することもある
みたいな感じですかね
0929デフォルトの名無しさん
2012/09/17(月) 11:41:59.39Win32に関しては4種類あるよ
・クリティカルセクション
・ミューテックス
・セマフォ
・イベント
イベントはlock-freeだけどwait-freeではない
メッセージポンプを使って一つずつ送り出してやる必要がある
wait-freeはOSが対応してないと無理だしな
Win64にも無いようだ
マルチコア環境でマルチスレッドを使えば似たような事が出来るが
それですらWaitForMultipleObjects()を使うだろ?
0930デフォルトの名無しさん
2012/09/17(月) 12:21:23.17>OSがミューテックスよりパフォーマンスのよいアトミック操作を提供することもある
OSじゃなくてCPUな
InterlockedIncrement(), InterlockedDecrement(), InterlockedExchange()
最後のは動きとして有名だったようだが、今は CAS?TAS?
0932デフォルトの名無しさん
2012/09/17(月) 14:26:24.48本も買わずに言ってるわけか
さすが金なし中年ニート
今までQが披露したプログラムテクニックも大部分が必死でぐぐって見つけたものだったしな
ネット上に落ちてる情報なんてそんなもんだ
△プログラムテクニック
○プログラミングテクニック
いつも思うんだけれども、あんたの用語の使い方は問題があるね。用語と用法には正確を期してください。
ググッて見つかるのであればそれはそれで結構なことですよ。
インターロック関数群はね、既存のセマフォやミューテックス、モニタ等に手を加えたものを自分で作るときに使うものです。
「何に使うのか想像できない」と書いたのは、そこまで記述できる能力はないから。
インターロック関数群を使ってセマフォやミューテックスを再記述する趣旨の書籍にはまだ出会っていません。
というか、
http://toro.2ch.net/test/read.cgi/tech/1345810057/954
によると、あんた、プログラミングの知識もないのに雇われてステマしてるんですって。
確かに実際にプログラムの内容に言及して煽られたことは数えるほどしかないし‥‥‥
単位給いくらぐらいなの?私にもできるかな?
0934デフォルトの名無しさん
2012/09/17(月) 14:57:05.25木を見て森を見ずの典型的パターン
0935デフォルトの名無しさん
2012/09/17(月) 14:58:08.15>http://toro.2ch.net/test/read.cgi/tech/1345810057/954
>によると、あんた、プログラミングの知識もないのに雇われてステマしてるんですって。
なんすかこれ
俺書いてないんだけど
コテもないのに誰が書いたかわかるんだへ(´・∀・`)エーエスパーですか?
しかたがないです。木を一本一本みていけば森もわかるようになる、と根拠もなく信じている人ですから。
で、どの点に森がみえていない、とお感じになったのかよろしければ。
0937デフォルトの名無しさん
2012/09/17(月) 15:04:52.01またこの手か
人に聞いてばかりいないでちっとは自分で考えろアホ
プログラムを必死にぐぐって調べている頭じゃ無理だろうけどな
だから「頭悪い」と言われるんだ
いい加減気づけ
0938デフォルトの名無しさん
2012/09/17(月) 15:11:09.77人から指摘されたもの→100%反論する
これがQの手口だから
どうせプログラムにしたってあちこちぐぐってはそこのブログにコメ欄があったら
文句言って回ってんじゃねーの
こいつの性格からして十分あり得る
しかし「自分で洞察した事には文句が付けられない」
Qには決して具体的な指摘はしてはならない
自分で気づくまで放置
0939デフォルトの名無しさん
2012/09/17(月) 15:44:58.820940デフォルトの名無しさん
2012/09/17(月) 15:55:06.860941デフォルトの名無しさん
2012/09/17(月) 16:13:23.350942デフォルトの名無しさん
2012/09/17(月) 16:15:53.06こいつ暇になると構ってもらいに行くしかないんだな
マジ哀れ・・・
0943デフォルトの名無しさん
2012/09/17(月) 22:20:16.08関係ない雑談なんかどうでもいいわ
0945デフォルトの名無しさん
2012/09/17(月) 23:41:02.700946デフォルトの名無しさん
2012/09/18(火) 00:13:54.92前はオープンソース目的ならOKだった気がするんだが、今回から評価限定になった?
ライセンス登録に勤務先情報必須とか、まいるなあ。
0947946
2012/09/18(火) 00:14:31.870948デフォルトの名無しさん
2012/09/18(火) 00:15:08.12あるスレッドに書き換えられた変数がほかのスレッドから見たときに書き換えられたことが反映される前にアクセスされることがある
というのがよくわからないのですが物理的にメモリが書き換えられたらどのスレッドが見ようが同じだと思うんですがこれはいったいどういうことなんでしょうか?
0949デフォルトの名無しさん
2012/09/18(火) 00:38:37.27アセンブラをちょっとかじってみればいい
0950デフォルトの名無しさん
2012/09/18(火) 00:39:06.98キャッシュかとも思ったが、プログラマから黒子のキャッシュの存在が見えてしまっては本末転倒。なんだろう?
スレッドの実行順序をまったく仮定せず、共通でみるメモリは排他制御用のセマフォなりミューテックスなり私好みのクリティカルセクションなりでガードするのが背折という気がします。
これならばまったく安全なはずです。
0951デフォルトの名無しさん
2012/09/18(火) 00:52:33.30メモリコヒーレンスでぐぐってみ
いろいろおもしろい事がわかるぞ
0952デフォルトの名無しさん
2012/09/18(火) 01:01:42.090953デフォルトの名無しさん
2012/09/18(火) 01:18:58.720954デフォルトの名無しさん
2012/09/18(火) 07:28:26.67透過的と考えていい場合もあるし、どっちでもいい場合もあるけど、
ケアした方がいい場合やケアするとよりよくなる場合もある。
kernelコードでは普通に意識するし、アプリケーションコードでも性能を高めるため
cacheに乗りやすいデータ構造になるよう意識する人は意識している
0955デフォルトの名無しさん
2012/09/18(火) 07:41:49.55>cacheに乗りやすいデータ構造になるよう意識する人は意識している
そういう質問してる?
0956デフォルトの名無しさん
2012/09/18(火) 08:45:57.100957デフォルトの名無しさん
2012/09/18(火) 13:08:16.83実行してみて、処理時間に極端な差が出て気付くこともしばしば。
0958デフォルトの名無しさん
2012/09/18(火) 13:21:43.71この場合、strのサイズを取得するにはどうすればよいですか
sizeof(str)とかsizeof(*str)では実際の変数サイズは取得できなかったのですが。。
0959デフォルトの名無しさん
2012/09/18(火) 13:23:45.65strのサイズはsizeof(str)で得ることができる通り、sizeof(char *)と同じです。
malloc()で確保した容量を知りたいと言うことでしたら、一般的な方法はありません。
自分で管理しましょう。
0960デフォルトの名無しさん
2012/09/18(火) 13:25:19.26sizeof(str) ≡ sizeof(char *)
sizeof(* str) ≡ sizeof(str[0]) ≡ sizeof(char)
0961デフォルトの名無しさん
2012/09/18(火) 13:48:31.27では、strを初期化したい場合はどうすればよいですか
memset(str, 0, 1024);としてもstrのサイズが1024である保証はないですよね
0962デフォルトの名無しさん
2012/09/18(火) 13:58:40.40・構造体で数とポインタをペアにして管理
0963デフォルトの名無しさん
2012/09/18(火) 14:02:57.52http://msdn.microsoft.com/ja-jp/library/z2s077bc(v=vs.80).aspx
ただし、malloc()は厳密に引数で指定したサイズよりも大きい値を内部的に
確保することが多く、どっちみちあまり信用しない方がいい
malloc()を呼び出した人(関数)しか確保したサイズが分からないので
別の場所(関数)でその領域を使用したい場合は、領域のサイズを引数等を通じて
教えるように作るのが普通
それと単にゼロ初期化したいだけなら最初からcalloc()使えばいい
0964デフォルトの名無しさん
2012/09/18(火) 15:03:50.16>strを初期化したい
char * str = NULL;
0965デフォルトの名無しさん
2012/09/18(火) 23:15:34.04自分で確保したんだから‥‥、って冷たいですよね。
でもしかたがない。自力で管理しておくしかないでしょうね。
0966デフォルトの名無しさん
2012/09/19(水) 02:22:25.04char*str=malloc(sizeof(size_t)+sizeof(char)*1024)+sizeof(size_t);
…
free((size_t*)a-1);
0967デフォルトの名無しさん
2012/09/19(水) 07:46:03.760968デフォルトの名無しさん
2012/09/19(水) 07:51:12.410969デフォルトの名無しさん
2012/09/19(水) 14:07:23.230970デフォルトの名無しさん
2012/09/19(水) 17:24:59.14言語と関係無い階層で幾らでも情報詰め込めるようになるからなー
0971デフォルトの名無しさん
2012/09/19(水) 18:24:59.44せっかくなのでC++11というのを勉強しようと思うのですが
良い入門書をご存知ありませんか
0972デフォルトの名無しさん
2012/09/19(水) 18:32:37.420973デフォルトの名無しさん
2012/09/19(水) 18:33:43.560974デフォルトの名無しさん
2012/09/19(水) 18:47:19.14入門なんてググっていればいい
ある程度基礎が分かったら中級者以上を対象とした本を手に取ればいい
いくつか候補として挙げると
Exceptional C++
新訂版 More Effective C++
Modern C++ Design
C++の設計と進化
0975デフォルトの名無しさん
2012/09/19(水) 19:18:20.48おい、C++11の話だぞ
とりあえず日本語の入門書はまだない
というか、C++03勉強してからの方がいいぞ
0977971
2012/09/19(水) 19:55:58.78取り合えずプログラミング言語C++第三版ってので勉強します
ある程度進んだら>>974の本を読んでみます
>>972
CHF 238,00ってひょっとして202.3万円ですか?
流石に買えません……
0978デフォルトの名無しさん
2012/09/19(水) 20:14:14.530979デフォルトの名無しさん
2012/09/19(水) 22:20:43.08>>972が言ってるの入門書じゃなくてC++11の言語仕様書そのものだよw
ちなみに、ほぼ同じもの(ドラフト版)ならPDFで読める
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf
200万ワロタ
0980デフォルトの名無しさん
2012/09/19(水) 22:27:47.020981デフォルトの名無しさん
2012/09/19(水) 22:36:12.57すっげー重いな
まあ本物持ってるからいらないけど
0982デフォルトの名無しさん
2012/09/20(木) 07:37:48.960983デフォルトの名無しさん
2012/09/20(木) 07:38:00.470984デフォルトの名無しさん
2012/09/20(木) 07:58:55.730985971
2012/09/20(木) 13:18:12.20ありがとうございます。
新しい言語を学ぶ時は一次資料である仕様書も揃えた方が良いかと思っています
しかしすごい分量ですね
>>978-984
なるほど、カンマは小数点だったんですね
勉強になりましたありがとうございます
0986デフォルトの名無しさん
2012/09/20(木) 21:07:22.54中国、インド、アメリカ、パキスタン、ナイジェリア、日本、メキシコだけで世界人口の半分越えてるので
人口で考えればピリオドの方が主流
0987デフォルトの名無しさん
2012/09/20(木) 22:54:16.44ドットだけ使う世界標準みたいなのは知らない
0988デフォルトの名無しさん
2012/09/21(金) 00:48:54.240989デフォルトの名無しさん
2012/09/21(金) 02:16:11.94http://toro.2ch.net/test/read.cgi/tech/1348161305/
0990デフォルトの名無しさん
2012/09/21(金) 06:10:45.91おつ
0991デフォルトの名無しさん
2012/09/21(金) 11:53:58.19その理屈だと世界で一番ポピュラーな文字は漢字で、
一番ポピュラーな言語は中国語になってしまう。
0992デフォルトの名無しさん
2012/09/21(金) 12:03:35.58ISO/IEC 14882での小数点はドットだけっすよw
0993デフォルトの名無しさん
2012/09/21(金) 17:39:49.17おつうめ
0994デフォルトの名無しさん
2012/09/21(金) 19:20:33.540995デフォルトの名無しさん
2012/09/21(金) 20:56:28.350996デフォルトの名無しさん
2012/09/21(金) 21:36:54.910997デフォルトの名無しさん
2012/09/22(土) 00:10:37.71【初心者歓迎】C/C++室 Ver.80【環境依存OK】
http://toro.2ch.net/test/read.cgi/tech/1348161305/
【初心者歓迎】C/C++室 Ver.80【環境依存OK】
http://toro.2ch.net/test/read.cgi/tech/1348161305/
【初心者歓迎】C/C++室 Ver.80【環境依存OK】
http://toro.2ch.net/test/read.cgi/tech/1348161305/
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。