C++相談室 part104
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレに
お願いします。
前スレ
C++相談室 part103
http://toro.2ch.net/test/read.cgi/tech/1371305675/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.85【環境依存OK】
http://toro.2ch.net/test/read.cgi/tech/1372676667/
■長いソースを貼るときはここへ。■
http://codepad.org/
http://ideone.com/
0002デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN0003デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN0004デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANQZaw55cn4c
0005デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN環境によるだろ。
俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力
ランタイムを使用するようにして使っているが、例えばstd::vectorを
使っても使わない時と比べ10Kほどしか増えない
すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。
C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
とかいうエラーが出るんだけどこれってどうすればいいの?
#include <stdafx.h>
後死ね。
言葉が悪いな。それで教えているつもりか。
まぁヒントぐらいにはなったな。
うむごくろう。
0006デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANリスクやレビュー工数軽減のためにgotoを一律禁止にしています。
ところが何度説明しても"自分は適切に扱える。出来ないやつは辞めさせるべき。"と独断で動く人がいて困っています。
どう説明すれば理解してもらえるのでしょうか。
0007デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANそいつが正論
0008デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN0009デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANどこが悪いのでしょうか
具体的に
0010デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN0011デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANgoto を一律に禁止というところ
おまえの論理では throw や longjmp までが禁止なはず
標準ライブラリを全否定し、組み込みでの代替手段まで奪う暴挙は
反乱されて当然
0012デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANlongjumpはもちろん禁止です。
throwは原則禁止ですが、C++をまともに使える人間がいないのでそもそもthrowは使用されていません。
longjumpは存在を知っている人間がいないはずです。
0013デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANEOF 判定でも二度読みを強制する「ボス」には俺でも袂を分かつ
頭悪すぎ、一緒に沈没はごめんだ
0014デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN了解、アスタラビスタ
0015デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANgotoは一律禁止にしたのですが、天狗がいまして…。
0016デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN0017デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANそれでも正しく使えていると豪語するので同説得競ればよいか質問させていただいたのですが、
流石掃き溜めというべきかプロジェクトの管理をなさる方はいないようですねここは。
0018デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN本当にアドバイス欲しかったらまずそいつのプログラム晒してみろよ
ここの奴らは叩くことに関しては一流だぜ
0019デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN叩こうにも言葉が通じるかどうか・・・
0020デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANgotoもthrowも頑なに使わないようにしてわけの分からないフラグばかりになってる糞コードなら
何度も見たことあるけど
そんなにバカなgotoの使い方してる奴は見たことないなあ
そんな奴が居るならそれこそ辞めさせるべき
バカ探知機になってかえっていいじゃん
0021デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN>流石掃き溜め
なんだ、結局それが言いたかっただけの人格障害者か
0022デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN適用して失敗したらC++がわからない人のせいになるのですね。
0023デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN0024デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN夏休みすげえわw
0025デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN0026デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN0027デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN0028デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN00296
2013/08/17(土) NY:AN:NY.ANレベルの揃わない人員でプロジェクトを進める上で必要な決め事と感じています。
実際正しく使えると豪語した人もgotoに頼り長い関数をこしらえましたので。
私個人としてはgotoは絶対禁止という思いはないです。
0030デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN0031デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANマジレスすると、プロジェクトから外すしかない。
ので、プロマネに相談しなよ。
ただ個人的には goto は関数内に閉じるから...
1. ブロック内への goto
2. 上方向への goto
を禁止すれば、目の敵にしなくてもいいように思う。
0032デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANgotoは絶対禁止という思いはないです。
いるよなこんなPG
0033デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANお前が書けるかどうかじゃない、これは統制だってことをわかってもらうべき
使えるプログラマは、goto無し縛り、極端な話、C++無し縛りだってできる
(後者はC++なしで軽量OOPしろってことな)
0034デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANありがとうございます。
前方へのジャンプだけなら変なフローにはなりにくいので良いですね、
うちの場合は正当に使用されているかのレビューチェックに掛かるコストをカット出来るので禁止としていました。
使用しなければキーワードで検索できますので。
0035デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANご意見ありがとうございます。
確かに板違いでした。
今日のgotoの件で頭に血が上っていたようです。
0036デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANといってifネストの山を量産させるのですね。
0037デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN長い関数が問題ならそれを説明して分割させろよ。
それができれば goto 禁止なんてする必要ないし、
goto 禁止したって何の解決にもならないよ。
0038デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN長い関数なんて誰も好きで書いてるわけじゃないんだから。勝手に長くなってるんだから
0039デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANgoto 禁止したからといって何になるというのさ?
0040デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN0041デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN0042デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN0043デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANC++erがダメ出し「STL使って簡潔に書け」
ビルドする
バイナリはCのほうが簡潔
0044デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN0045デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN0046デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN関数は自然と短くなるはず。
0047デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANそういうやつの声がでかいだけで迷惑千万だ
0048デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN要求される場合はゴリゴリ軽くするよ
「バイナリを軽くしか出来ない人」の方が迷惑
0049デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANそういうやつの声がでかいだけで迷惑千万だ
0050デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN処理を削れば軽くなるが、それしか出来ない人ってどういうことだ?
てけとーに攻撃的な言葉をならべて遊んでるだけだろどーせ
0051デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN0052デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN両立しろよてめーらwww
いやマジレスすると、C++ってのは、それを両立して極めろって後輩に仕込んでくれ
C/C++は他言語を、OSを統べる言語。別格なんだよ、わかるだろ
0053デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANたまにいる。
0054デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANどう書いたらどう最適化されそうかくらいは考えろってさー
0055デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN0056デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANCC CC CC ... ってpadされてるバイナリを渡したらどう思われるか、とかね
0057デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN等値比較する必要があるかどうかさえ、
とにかく把握する気がないやつは底なし
0058デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN+見境いなし
0059デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.AN0060デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.AN0061デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.AN0062デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.ANお手軽ハッシュでいいのない?
0063デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.AN0064デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.AN悔しいが同意せざろうえない
0065デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.AN0066デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.AN0067デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.AN世の中ゆとり言語しか無い
0068デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.AN0069デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.ANってことですね
0070デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.AN0071デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.AN切れ味強すぎて危険
0072デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.ANさっぱりわからん
これが無いとどういったときに不便になるの?
無くても困らないケースはある?
0073デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.AN0074デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.AN多分最初は不思議に聞こえるが、クラスは外からのアクセス方法を制限することによって
その保守性とか目的を明瞭にしてるというか
誰かエロイ人もっと上手く頼む
0075デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.AN無くてもそれができる人なら困らないけど、
そんな人は少ない。
007672
2013/08/18(日) NY:AN:NY.ANお前らありがとう
正直門前払いされるんじゃないかとビクビクしてたが質問してよかった
0077デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.AN区別できてるか判断するのは、自分じゃなくてソースを読む大多数の他人だから。
これを理解してないと、意味が全然違う。
0078デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.AN0079デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.AN0080デフォルトの名無しさん
2013/08/19(月) NY:AN:NY.ANクラスがなぜ必要かと言ったら、クラスで記述するおいしいライブラリがあるからさ
クラスの良さに気付ければ、めくるめくC++の奥深さを楽しめるようになる
0081デフォルトの名無しさん
2013/08/19(月) NY:AN:NY.ANint Val = ( *pvVal )[ 3 ];
このように記述したとき、
( *pvVal )のところで一時オブジェクトが生成される心配はないでしょうか?
もしそうだとすると、巨大なvectorではとてつもないコストになってしまいます。
VisualStudio2012でステップ実行して確認したところ、
vectorのコンストラクタには行かず、
operator[]に行ったので大丈夫と思っていいでしょうか?
0082デフォルトの名無しさん
2013/08/19(月) NY:AN:NY.ANと思ったが確信はないな・・・
0083デフォルトの名無しさん
2013/08/19(月) NY:AN:NY.AN0085デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.ANデストラクタでリソースを解放することを覚えるとCには戻れなくなる
0086デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.AN0087デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.AN//I believe gc :)
0088デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.AN0089デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.AN空間制御は楽になったが、時間制御が難しくなったと言う
0090デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.AN時間軸の細かい制御も容易にできる
0091デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.AN0092デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.ANってそういうことじゃなくて、だからC++はイイ!って話だろw >>72,85
0093デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN0094デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN初心者にGCで解放されるものとされないものの区別を教えるのが難しい。
0095デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN0096デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.ANファントム参照って何ですか?
0097デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.ANそのあたりは初心者どころか中級者でも
各VMの実装の詳細まで把握してる奴は少ない
0098デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN自動変数は宣言された関数内で死ぬと思うんですが、なぜこの結果になるのかわからずにいます。よろしくお願いします。
環境:win32, gcc version 4.7.2 (GCC)
#include <iostream>
static void test(int*& pa, int*& pb) {
static int a = 10;
int b = 5;
pa = &a;
pb = &b;
}
int main(void) {
int *pa, *pb;
test( pa, pb );
std::cout << "*pa = " << *pa << "\n" << "*pb = " << *pb << std::endl;
return 0;
}
結果:
*pa = 10
*pb = 5
0099デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.ANなのでたまたまプログラムが動いた様に見えるだけ。
0100デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN010198
2013/08/23(金) NY:AN:NY.ANprintf()で参照したときに落ちると思ったんですが。
>> 100
clangって使い勝手いいですか?gccと比べて
0102101
2013/08/23(金) NY:AN:NY.AN0103デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN0104デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.ANしてはならないって事をしても死なないってことは良くある
0105デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.ANC++ユーザーにゆとりが増えているからそんな動作にしないといけなくなっているのか
0107デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN浮気はしまくりの公衆便所やっとけ
この業界、純粋培養にいいことは何もない
0108デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN取得したセクション名の区切りがヌル文字なせいか1つの文字列として認識してくれません。
どうしたらいいでしょうか?
コードではfor文を使ってsplitしたセクション名をSectionNameに入れています。
char SectionNames[1024];
GetPrivateProfileSectionNames(SectionNames,1024,FilePath.c_str());
char *WTF;//謎の内部パラメータ
char *CheckString;
for(CheckString = strtok_s(SectionNames, "0" ,&WTF); NULL != CheckString ; CheckString = strtok_s( NULL, "0" ,&WTF)){
string SectionName = CheckString;
//Section名を使った処理
}
変数の頭文字が大文字なのは見逃してください
0109デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN素敵なポリシーだな
デバッグツールでも死んだポインタにデタラメな値を入れてわざとエラーを
引き起こすようにしたりするね
0110デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.ANさっぱりだけど
for(CheckString = strtok_s(SectionNames, "0" ,&WTF); NULL != CheckString ; CheckString = strtok_s( NULL, "0" ,&WTF)){
がうまく動作しないってこと?
ここよりはC/C++スレのほうで聞いたほうが良いって気がする
0111デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN110だけど、あてずっぽうだけどここが参考になるかも
http://vcpptips.wordpress.com/tag/getprivateprofilesectionnames/
0112デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.ANchar SectionNames[1024];
GetPrivateProfileSectionNamesA(SectionNames, 1024, FilePath.c_str());
char *CheckString = SectionNames;
while (*CheckString) {
string SectionName = CheckString;
std::cout << SectionName << endl; //Section名を使った処理
CheckString += SectionName.length() + 1;
}
0113デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.ANありがとう
0114デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.AN略
}
このループってメモリーアクセスするじゃないですか、a[10]に。
しからばfor loopの前に
const x=a[10];
を追加すしてxに対して同様の行為をするのが速くする方法ですか?
でなければ正解を教えてください。
0115デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.AN正解はそのコードだけじゃなんとも言えないなあ、a[10]って一体何なんだよw
0116デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.AN略
}
このループってメモリーアクセスするじゃないですか、a[10]に。
しからばfor loopの前に
const x=a[10];
を追加すしてxに対して同様の行為をするのが速くする方法ですか?
でなければ正解を教えてください。
programmeのミスでした。
すみませんやり直したので見てください。
0117デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.ANelse goto hell;
0118デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.ANaが組み込み型の配列だと仮定したうえで、
aがローカル変数でそのアドレスを他の関数に渡したりメンバ変数、グローバル変数へ代入していないなら
普通はコンパイラの最適化に任せれば自動で最適化してくれる。
aがメンバ変数、グローバル変数の場合には普通自動で最適化はできないので速さに拘るなら
そのxのように手動で書く必要がある。
どちらの場合でもconst xと書いたほうが値が不変であることを明示できるのでコードの意味が分かりやすくなる。
0119デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.AN略
}
といいたいわけですか?
これはこちら側の設定ミスでした。
もう一度コードを書き直してきます。
0120デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.AN略
}
としておきましょう。
しからば
const char x=a[10]
while(i==a[10]){
i=ランダムな文字;
}
でオッケーですよね。
ありがとうございました。
書かなくてもwhileの内部で代入がなければ最適化される。
そのときの最適化はxへの代入が無い分上記のコードよりさらに速い。
すなわちxに代入することなく直接レジスターに入れられるということで。
がしかしマルチスレッドで変えられる可能性があるから最適されないなんてことは無いですよね。
0121デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.ANもしくはfor(int x=a[10]; ...)でもよい
0122デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.ANときどきいるんだけど釣りを疑ってしまう
0123デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.AN>書かなくてもwhileの内部で代入がなければ最適化される。
whileの外でaのアドレスをどっかに代入してwhile内部で何らかの関数を呼び出しているなら最適化は期待できない。
>そのときの最適化はxへの代入が無い分上記のコードよりさらに速い。
>すなわちxに代入することなく直接レジスターに入れられるということで。
const char xと明示的に書く場合とコンパイラが可能な時にする最適化の速度は変わらない。
const char xと書いたからといってスタックが確保されるかどうかは別問題。
>がしかしマルチスレッドで変えられる可能性があるから最適されないなんてことは無いですよね。
その通り。コンパイラは他のスレッドの存在を無視して最適化する。いちいちそのことを考慮すると糞遅くなる。
0124デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.ANwhileの外部でaのアドレスが代入したことなんてコンパイラーが調べるんですか?
多分そんなめんどくさいこと調べないですよね?
だからwhile内部で関数呼び出しがあった場合、その関数がaのアドレスの先のメモリーを
書き換えるかも知れないから最適化はされませんと考えた方が良いですよね。
0125デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.AN普通に調べると思うけどね。コンパイルしているコードだけを見ればいいんだから簡単。
0126デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.AN0127デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.ANclass B{
A a;
…
};
のようにAの内部クラスBをAの外側で書くことはできないのでしょうか?
0128デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.ANなにがしたいかわからん
それのどこにコンパイルエラーになる要素があるんだ
0129デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.ANすみませんでした
ありがとうございました!
0130デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.ANついでに「コンポジション C++ クラス」でぐぐっとけ
0131デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.AN頑張ります!
0132デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.AN内部クラスBをAの外側に書いて、class Aはclass Bでしか使えないようにするにはどうするの
0133デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.AN>>127のようにして
内部クラスAをBの外側に書いて、class Aはclass Bでしか使えないようにするにはどうするの
です。
0134デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.AN{
class A;
...
};
class B::A
{
...
};
この方法だと前方宣言不可能
前方宣言したい場合はfriendクラスとか
0135デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.ANclass C
{
friend class B;
private:
class A
{
...
};
};
class B
{
C::A a;
...
};
とかできるかも知れんな
0136デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANclass A {
public:
A(int x, int y);
A(int x);
}
A::A(int x, int y) {
なんとかかんとか
}
という風です。
次に、A(int x) の引数でコントラスタを生成されたとき
最初の A(int x, int y) の y を既定値で呼び出したいのですが
A::A(int x) : A(x, 0);
でいけるかと思ったけどエラー出ました。
よく分からないので、 A::A(int x, int y) の中に記述した なんとかかんとか を丸コピーしましたが
コントラスタから他のコントラスタを呼び出すことは出来ませんでしょうか。
0137デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0138デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANそれはC++11から使えるようになった委譲コンストラクタってやつ。
C++11対応コンパイラで -std=c++11 つければ使える。
0139デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0140デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN> 最初の A(int x, int y) の y を既定値で呼び出したいのですが
それだけなら、デフォルト引数でいいと思うが。
「規定値」なんだし。
0141136
2013/08/25(日) NY:AN:NY.ANA::A(int x) : B(x)
みたいな初期化の方法があるので、その延長みたいなのがあるのかなぁと思ってました。
>>138
なんと、最新のコンパイラは出来るんですか。
>>140
デフォルト引数で可能なことを例で書いてしまいましたが
そういう意図じゃなかったです。。
0142デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANどこか困る部分ありそう?
初めて見た時やっと入ったのかと思ったもんだけど。
0143デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0144デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN今までコンストラクタの中で別のコンストラクタを呼ぶのは
一時オブジェクトを作るだけだからコードが読みにくくなるだけなので個人的に禁止していた
これ以降OKになると思うと混乱しそう
0145デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN委譲コンストラクタと、一時オブジェクトの作成は意味が違うじゃないですか
0146デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANそもそもその位置に来れるのはメンバだけだろうが!ってなる
0147デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN俺もその通りだと思う
ラムダとか絶対理解出来ないと思うんだよね…
0148デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN基底クラスと仮想基底クラスが来てただろうが
0149デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANお前その2つを混同してたのか?
頭わるすぎ
0150デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANstd::listのソート条件とかに使ったことはあるのですが、それだけ・・?って感じです
0151デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANA(int x, int y = 0);
とどう違うんですか?
0152デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANいちいち関数オブジェクト作ってたようなのが一切合切消える
0153デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANそのそれだけがでかい
一行程度の処理なのに関数外に書かないといけなかったから、
効果対費用を考えると躊躇この上なかった
0154デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN混同? どこから湧いて出たんだ、そんな発想
まあ、もともとメンバだけつってたアホだけに何でもありうるが
0155デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN配置newをつかえば無理矢理できないこともない
0156デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0157デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANそれは本当にいらんな。
ただ1配列を回す時に大きなデータ領域が必要な場合あるし、
関数オブジェクト全部は消えないかも。
0158デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANその関数を一時的に使うことが明記できるところ?
0159デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANいるでしょ
less とか plus が使えるところで、
ラムダ使う必要ないし、
ファンクタに状態を持たせる必要がある場合、
ラムダは使えないと思うの
0160デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANbindその他はいらん気がする。
0161デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN>ファンクタに状態を持たせる必要がある場合
それもキャプチャできるから解決してしまう
0162デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN局所性
→処理が必要な場所に書ける
簡潔さ
→ファンクタでありながら、
クラスの冗長なコーディングをする必要がない
0163デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN局所性は理解した
ファンクタ・・・は勉強します
0164デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANあ、確かに
キャプチャで解決するね
考えてみたら、引数でもいいわけだし
ただ、ここからは思想的な話になっちゃうんだけど、
キャプチャしまくりのラムダとか作るぐらいなら、
ファンクタ作った方がまとまる気がする…
0165164
2013/08/25(日) NY:AN:NY.AN0166デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANそれは同意する
影響範囲が広い処理はラムダは適さない
ただそこまで大きいなら関数オブジェクトでなく
順当に処理クラスを作ってしまった方が良いかなとも
0168デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN文面的に飛ぶことを強制しなくなった、それだけだ
0169デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0170デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANbindはラムダに対しても有効で、
引数の順序を変えたり、別の引数を与えたりできる便利さ
0171デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0172デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANラムダの引数順変えるのにbindなんか使ってたら、本末転倒もいいところだろ
0173デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0174デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0175デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANああ^〜たまらないぜ
0176デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0177デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.ANchar i='c';
while(a[10] != i)'{
a[10]のアドレスを標準出力;
a[10]のアドレスをdに標準出力をみて標準入力;
d[0]=30;
i=ランダムな文字;
}
というコードってa[10]の中身が変わっているかコンパイラーは知る由もありませんよね。
しからば
a[10]='b;
const char x=a[10];
char i='c';
while(c!=i)'{
a[10]のアドレスを標準出力
a[10]のアドレスをdに標準入力
d[0]=30
i=ランダムな文字
}
という風に最適化されるんですよね。
0178デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.ANchar i='c';
while(a[10] != i)'{
a[10]のアドレスを標準出力;
a[10]のアドレスをdに標準出力をみて標準入力;
d[0]=30;
i=ランダムな文字;
}
というコードってa[10]の中身が変わっているかコンパイラーは知る由もありませんよね。
しからば
a[10]='b;
const char x=a[10];
char i='c';
while(x!=i)'{
a[10]のアドレスを標準出力
a[10]のアドレスをdに標準入力
d[0]=30
i=ランダムな文字
}
という風に最適化されるんですよね。
0179デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.ANconst char x = 'b';
だろうよ。
それにしても酷い日本語だな。
0180デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.AN0181デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.ANstring Name;
int Number=111;
stringstream sstream;
sstream << "aho" << Number;
Name = sstream.str();
ってやればいいんですか?
C#とかだとToString()で一発なんですけど
0182デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.ANそれをtoStringとしてラップしておけばいい
0183デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.AN0184デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.ANstd::string Name = "aho" + std::to_string(Number);
0185デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.AN0186デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.ANto_string()があるよ
0187デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.AN文字列&ストリームは(言語内スクリプト言語みたいな)別言語にすべきなんだよね
0188デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.AN実装依存ネタになるが、mfc42.dllはずっとバンドルされてきてるので、
ニーズと条件がそろえば十分使える
使えると言えば、msvbvm60.dllが完全にC++から呼べればこれも役に立ちそうだが
amd64がたしかないんだよな
0189デフォルトの名無しさん
2013/08/27(火) NY:AN:NY.ANお馬鹿さん発見w
0190デフォルトの名無しさん
2013/08/27(火) NY:AN:NY.AN>>185
おう、CString::Format() を常用しているお馬鹿さんだともw
0191デフォルトの名無しさん
2013/08/27(火) NY:AN:NY.AN0192デフォルトの名無しさん
2013/08/27(火) NY:AN:NY.ANバッファ長どうすんだそれ。
0193デフォルトの名無しさん
2013/08/27(火) NY:AN:NY.ANごめん実際に使ってるのはvsprintf_s
一時バッファ長は適当に大きめ
どうせフォーマティングしたくなる場面で結果がそんなに長くなるケースはないから
0194デフォルトの名無しさん
2013/08/27(火) NY:AN:NY.ANVC++なら_scprintfとかglibcならvasprintfとか
0195デフォルトの名無しさん
2013/08/27(火) NY:AN:NY.AN0196デフォルトの名無しさん
2013/08/27(火) NY:AN:NY.AN0197デフォルトの名無しさん
2013/08/27(火) NY:AN:NY.AN0198デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANopen_memstream と vfprintf とか
0199デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANCGIなんか作れるわけないじゃん
0200デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN新月 - P2P匿名掲示板その2
http://anago.2ch.net/test/read.cgi/software/1263169440/
0201デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANなんで作れないと思ったんだ?
CGIってコマンドラインのパイプの拡張だぞ。
0202デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN何を言ってるんだPerlとかPHPとかじゃないとCGIは作れないよ。
0203デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN??
なんでそんな意味のない嘘をつくんだ?
0204デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN0205デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN人それを死角と呼ぶ
>>199>>202
まぁ釣りだろうけど、httpdの動くマシン上で実行ファイルとして実行できるファイルを起動して環境変数と標準入力にアクセス情報やPOST内容を渡し、標準出力をレスポンスとして返すが古典的なCGI
サーバ上で実行ファイルとして動けばよいから、シェルスクリプトだろうがネイティブ実行ファイルだろうがシェバング使った各種スクリプトだろうが何でも実行できる
が、セキュリティだの高速化だの省リソースだのでhttpd上で実行するモジュールだの何だのが増加したりhttpd自体が見直されたりして近年ではこの限りではない
LaFoneraの設定画面は確かシェルスクリプトだったな
エスケープ漏れがあってコマンドインジェクションするとsshdが立ち上がってシェルが使えたっていうww
0206デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANそんなわけあるか。
0207デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANワラタwwwww
0208デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANphp-cgi
0209デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN0210デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN機械があったら一度はメンテナンスドアを開けてみる。くらいのもんで
httpd - CGI のことな
0211デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANそんなのわかっとるわボケ。
動作させられるのと実際使われてるかどうかの違いも区別つかんのか。
0212デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN0213デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN0214デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN0215デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN作れる
0216デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANそこまで言うなら作ってみろや
0217デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN馬鹿
0218デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANデータベースとかも使えないし、その他ライブラリ使う系の作業ができない。
0219デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN0220デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN0221デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANCoInitialize
0222デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN0223デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN頭わりいなこいつは。
0224デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN0225デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANシェルスクリプト自体速度求めるものじゃないからなぁ…
何をするにもプロセス立ち上げてパイプ処理だし、普通に書くと絶望的に遅くなるんじゃないか?
俺はCGIじゃないけど、簡易MMLパーサをシェルスクリプトで書こうとしたものの重くて途中で投げたし。
ルータのUI作る程度ならLaFoneraで実例があった筈だが、マトモなサービス書くのは辛い気がする。
0226デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN\ / /. : : : : : : : :ヽ-‐.: :_;. --- .._: : : : : : : :\ \ /
_ や 争 _ /, -‐==ミ: : : : _,ィニ-‐……ー-: 、`ヽ、: : : : ヽ、 _ や _
_ め う _ . .:´: : : : : : : ≠:7: : : : : : : : : : : : :ヽ、 ヽ| : i : : :, _ め _
_ て の _ /.: : : : -‐: :7´: : /:,ハ : : : :ヽ : : : ゝ-- :\ | : :! : : : , _ て _
_ : は _ /, -‐/.: : : : :i : : /ィ:爪: : :\ :\ : : :\: : :`ト : !: : : :′ _ : _
: 〃 /. : : : : : : |.:イ :ハ:| \: .、\: : xィ¬ト、: :| : : ! : : : : :, :
/ \ /.: :/.: : : : /l : |/Гト、 / |_,ノ0:::ヽ : : :i : : : : :′ / \
/ | | \ | .:/.:/. : : :i: i : | |ノ0:::ト |: :∩::::::ト: : : !: : : : : : :, / | | \
∨i: |: : : : |: :ヽ| |::∩::| !.::∪::::::| |: : :i : : : : : : ′ ,ィ /〉
|: |: : i : :', : | |::∪::| !: : : : : :||: : i : : : : : : : :, / レ厶イ
ヽハ: : :、: :ヽ| l : : : | , └――┘ ! : : i : : : : : : : ′ / ⊂ニ、
い、: :\/  ̄ ̄ ', : : i : : : : : : : : , _, -‐' ⊂ニ,´
r 、 _ ヽ: :〈 <  ̄} |: : : ! : : : : : : : :′,.-‐T _,. -‐'´ ̄
くヾ; U| | : \ /| : : :i : : : : :_, -‐' | /
r―' ヽ、 | : :
0227デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANecho "Content-Type:text/html\n\n"
echo "GReeeeeeeeeN"
これで一応CGIとして動作するだろう。
0228デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0229デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0230デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANecho "Content-Type: text/plain"
echo ""
echo "GReeeeeeeeeN"
0231デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANそれだと\r抜けるんじゃないか?
案外多くのブラウザが\rのない改行も受け入れるけど、たまにトラブる。
それと、シェルの種類と拡張によっては\nとか使える拡張が有ったと思う。
0232デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN掲示板の書き込みデータをbbs.txtに保存するとしたら表示はこんな感じか?
#!/bin/sh
echo "Content-Type: text/plain"
echo ""
cat bbs.txt
0233デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0234デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANページ分けとかしない前提?
0235デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0236デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN投稿CGIで容量みて静的HTML化して過去ログにして
投稿CGIでbbs.txtに投稿フォームやフッタも入れてIEの自動MIME上書きに期待する…
…ってだからスレチだし\r抜けてるってば!
しかし199が人気過ぎて197のスレチに気付いてなかったorz
0237デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN<!DOCTYPE〜<BODY>まで
■form.txt
投稿フォーム<FORM>〜</FORM>
■bbs.txt
投稿された内容(性的HTMLに加工済み)
■footer.txt
</BODY></HTML>
にしてcatでこの4つを出力のほうがよくね?
0238デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANドザから、*NIX系のソースも読むドザに進化せんとするとき、
いかさま ぽんぽんプロセスを作成するんだなと思って違和感もりもりだった
いまやだいぶ慣れたんだが、*NIX系は、どんどんプロセスを作成して
つないでいくのに最適化されてる。って考えるようになった。
これは勘所としては& *NIXの基礎常識として正しい?
0239デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANスレッド自体、事実上プロセスなんだし。
シェルスクリプトの構文の一部に見える、"["だってコマンド呼び出しだし。
果ては"seq"だとか"true"なんてコマンドまであるしね。
0240デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0241デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN全ての内部コマンドはexec可能であることっていう馬鹿な規定がPOSIXにあるせいや
0242デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANタスクマネージャ見てみろ
0243デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANあれ、あれみたいなもん?今流行のビッグダディ。
ぽんぽんガキ作ってさ。
0244デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0245デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANという伝統的なギャグの方向へ
0246デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0247デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANechoで何でも出力できるはずなんだけどね、なんだろうねこの流れ。
とりあえずsh、bash、zshで試して確認した。
0248デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANbusyboxでも同じだし。
0249デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0250デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANHTTPレスポンスヘッダは決め打ちでいいから
\rを使った状態のヘッダをファイルに持たせておいてcatで出せばよい
0251デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0252デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANだってforkで増やしたプロセスがスレッド代わりなんですもの
pthreadとかもあるにせよ、それ前提に設計してるのは当然・・・具体的な実装は知らんが
>>246>>251
だせるけど、>>227-230,232が悉く\nだけで済ませてたって話だろ
DATで見たら書いてあるのかも知れんが、見えないし
0253デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0254デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANサンプルplz
0255デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANecho -ne "\r\n"
もしかして、できないって言ってる奴がしつこく荒らしてる?
0256デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANそれはジャンプボタン押しっぱなしで高さを調整出来るジャンプなんですが
ジャンプボタンを押しっぱなしで地面に着地するとまたジャンプするのを防ぎたいので、
「ジャンプボタンは押しっぱなしでも着地後暴発させない処理」も入れたいのです。
もうおわかりと思いますが、
その処理と、「ジャンプボタン長押しでジャンプの高さを調整出来る処理」との
共存が実現出来ません。。一方を取れば、一方が殺されてます。
どうすればいいと思いますか?
悩み続けて、一日経ちます。。お知恵を貸し下さい、お願いします。
0257デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0258デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANジャンプしたというフラグを立てて
ジャンプボタンを離したときに、上のフラグを下す
上のフラグが立っているときはジャンプボタンを押してもジャンプさせない
こういう話はこのスレよりゲーム製作技術板の方がいいんじゃないか
0259デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANジャンプボタンを離した時ってのが
if文で作れません。
if(!ジャンプボタン)
が機能しません。
>>257
賢い回答してから言うべきじゃないの?
0260デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANあなたがどうやってボタンのon/offの状態を得ているのかがわからないから答えようがない
あと、煽るな
もう誰も答えてくれないからよそ行った方がいい
0261デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0262デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANぶっちゃけ自分が悩んでるから相手も悩んでると思ってる辺頭が悪い
普通に設計すればまず悩むはずのない問題
機能しません、と書けば誰かが答えてくれると思ってる辺頭が悪い
そして貴方の頭が悪いのは事実なのだから、頭が悪いという回答は賢い回答である
0263デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0264デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN病気になるなり、事故に合うなりして、
近いうちに死にますように。
0265デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANキーの取得は大まかにはonKeyUpみたいなイベントハンドラで行う方法と、
現在特定のキーが押されているかどうかをチェックするAPIを使用する方法がある
おそらくお前の状況では後者だろうがその場合は>>261の方法で実装できる
この時点では情報不足でそこまでしか指摘できん。簡略化したソースをうpするとよりいいぞ
0266デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANボタン判定って実はプレスとダウンとアップの三つがある。
ダウンはボタンを押した最初の一回の判定(大抵はボタンが押されたフレーム)でしか真にならず、
アップはボタンを離した最初の一回の判定でしか真にならず、プレスはボタンが押されている間常時真になる。
「現在のキー状態一覧を退避→キー状態取得→退避と比較してダウンとアップの情報の生成」
を各フレームないし入力処理の直前で毎回行い、ゲームとしての入力はそれを使うってのが定番かな。
頭悪そうってのは、プレスとダウンの違いを洞察できてないあたりのことだろう。
キー入力を直接判定に使うのではなく、加工(時系列での変化を判定)して使うという発想が出来ないのは頭が硬いと言われても仕方が無い。
与えられた定型文の行を組み合わせるのではなく、その文の意味を理解し、値や機構の応用を考えよう。
0267デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0268デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0269デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0270デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0271デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANCGIの挙動考えれば標準入力を読むコマンド叩くだけで済むってわかるだろあほう
0272デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANシェルなんだから環境変数そのままだろ粘着荒らし
0273デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANそして最後、炎上勉強法を演出してやった俺に気づけない君は本当に頭が悪いな
0274デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0275デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANどうやら、一部の環境では標準入出力がどこにも結びついてないらしいよ。
その環境でしか仕事をしていないと、標準入出力ってものを忘れっちまうんじゃない?
0276デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0277デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0278デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANどっちも合ってる。
0279デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0280デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0281デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANそうなんじゃないの?
Apacheではどうなんだなんて言っちゃうぐらいだし。
0282デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN4バイトアラインされてるとは限らないんですか?
0283デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN限らないどころかx86_64なら8バイトだろう
0284デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN8じゃなくて16バイトだ。
0285デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0286デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0287デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0288デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0289デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN今はAとBというクラスがあり、Bにenum TEST { t1, t2 };のように定義してあります。
なので、AからTESTを使うときはB::TESTのように書いています
0290デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN同じのを使うなら似たクラスだろうし
0291デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANバカなの?
0292デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANAとBを同じnamespaceに定義して、そこにenumも定義したらいいですかね?
0293デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANhttp://d.hatena.ne.jp/taiyakisun/20091227/1261865297
0294デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0295デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANfriendに指定するとか
0296デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN原理主義者供はほんとドウシヨウモナイクソだな
0297デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0298デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN・・・ // Srcに値を格納する
string str;
このstrにSrc配列の先頭から途中(非NULL文字)までの値を格納したいのですが、
別のバッファに一旦コピーせずに、
Srcからstrに直接コピーするエレガントな書き方はないでしょうか?
なお、Src配列の内容は非破壊という条件です。
0299デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0300デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANこんなものがあったとは
ありがとうございます
0301デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0302デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0303298
2013/08/31(土) NY:AN:NY.AN失礼しました。
「Srcに値を格納する」の部分でしょうか?
実際はメモリマップドファイルのMapViewOfFileの戻り値をchar*にキャストしたものになります。
>>301
ありがとうございます!
素晴らしくエレガントです!
>>298で示した「string str」は実際は関数の引数として渡されるので、
void Func( string* pstr, char* pSrc, UINT CpySz )
{
*pstr = string( pSrc, CpySz );
}
という感じでできたのですが、
この場合、右辺値のstring( Src, CpySz )で一度stringオブジェクトが生成され、
続いて左辺値のpstrにコピーというふうに、2度コピーが行われてしまうのでしょうか?
それとも右辺値参照になって、pstrへはムーブで済ましてくれるのでしょうか?
0304デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN一時オブジェクトを作ってるのは一目瞭然だし=によるコピーなのも一目瞭然だろ。あとはコンパイラの最適化次第。
stringの値の設定は応用が聞くってのは示してもらってるんだし、他のメソッドを見れば何が使えそうかは判るだろ。
basic_string& assign(const E *s, size_type n);
basic_string& assign(const_iterator first, const_iterator last);
insertやreplaceなんかでも良い。
0305デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN回答者を自動検索機くらいにしか思ってないんだろうな
0306298
2013/08/31(土) NY:AN:NY.ANありがとうございます!
http://www.cppll.jp/cppreference/cppstring.html
ほんとですね・・・。
失礼しました。
0307デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANswapしてもええんやで
void Func( string* pstr, char* pSrc, UINT CpySz )
{
std::swap(std::string(pSrc, CpySz), *pstr);
}
0308デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0310デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN戻値でstringインスタンスを返すな。
まあ、この例でそれやるとおかしな事になるから、
敢えて out 引数を使う前提で組むなら、
俺は↓だな。
void Func( string* pstr, char* pSrc, UINT CpySz )
{
pstr->asign(pSrc, CpySz);
}
0311デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN◯assign
0312デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN関数の戻り値をいちいちコピーするような無駄はしないよ。
ここすごく勉強になる。英語だけど。
http://cpp-next.com/archive/2009/08/want-speed-pass-by-value/
0313312
2013/08/31(土) NY:AN:NY.AN「言語機能としてのムーブはサポートしていないが、最適化手法としての
ムーブはサポートしているコンパイラ」とでも言うべきか。
0314デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN何スレか前に http://ideone.com/6QYWl1 があったけど、
これじゃクラス毎にオブジェクト生成しないといけないよな
0315デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANFlyweight
0316デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN>mt19937を複数のクラス内で使いたい
使えばいいんじゃないの?
コンストラクタで渡すかグローバルにするかして
0317デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANなるほどこういうやり方があるのか。�dクス
0318デフォルトの名無しさん
2013/09/02(月) 20:10:36.67∧_∧
( ´∀`) あげ?
..\ (/u ノ
\ 〈/フ'フ
\ ∠∠/
\
\ \ 彡
.\ .\
.\_/| ̄ ̄ ̄ ̄ ̄|
. | .|
0319デフォルトの名無しさん
2013/09/02(月) 21:33:38.82かわいいw
0320デフォルトの名無しさん
2013/09/03(火) 09:30:42.01http://www.boost.org/doc/libs/1_54_0/more/getting_started/windows.html#or-build-binaries-from-source
に書いてあるのと
http://d.hatena.ne.jp/wordi/20111129/p1
に書いてあるのとやり方が全然ちがうんですけど
何が違うんですか?
どれが正しいのか分らなくてインストールできません。
0321デフォルトの名無しさん
2013/09/03(火) 09:48:55.191. バージョンが違う (上:1.54, 下:1.48)
2. ツールが違う (上:b2, 下:bjam)
3. ビルドオプションが違う (下:pythonなし、mpi(並列)なし、スタティックリンク)
最新版がいいなら上の公式でやれ
0322デフォルトの名無しさん
2013/09/03(火) 09:51:12.66ありがとうございます。
参考になりました。
0323デフォルトの名無しさん
2013/09/03(火) 13:52:05.390324デフォルトの名無しさん
2013/09/04(水) 20:18:46.28実際に試した感触では、どうやら、トランザクションが開始されるとジャーナルファイルが作成され、
コミットするとジャーナルファイルがデータベースファイルにマージされたあと削除され、
このジャーナルが存在する期間は、別のスレッドはブロックされてしまうようなのだ。
http://d.hatena.ne.jp/seraphy/20060927
SQLITE_BUSY
この戻り値は、別のプログラムやスレッドがデータベースをロックしていることを示します。
SQLiteでは同時に2つ以上のスレッドから同じデータベースを読み取ることはできますが、書き込み可能な状態でデータベースを開けるのは1つだけです。 SQLiteがデータベースを開くと、ロックされます。
http://tria.s31.xrea.com/sqlite/c_interface.html
open_v2に設定できるモード
SQLITE_OPEN_NOMUTEX - マルチスレッドモード
SQLITE_OPEN_SHAREDCACHE - シェアードキャッシュを利用
SQLITE_OPEN_PRIVATECACHE - プライベートキャッシュを利用
http://idocsq.net/page/507
SQLiteでは複数スレッドからのDBへの同時アクセスはNGのようで、即関数リターンしてしまうようです。
うまいこと排他して実行してくれないもんかな?と思ったら、それはそれで可能なようです。
http://engineermsdiary.blogspot.jp/2012/11/sqlitesqlitebusy.html
0325デフォルトの名無しさん
2013/09/04(水) 20:21:51.900326デフォルトの名無しさん
2013/09/04(水) 20:29:09.50素直にプログラム側で同期した方がいい
0327デフォルトの名無しさん
2013/09/04(水) 20:55:47.24自分で使いたい機能だけを提供するマルチスレッドDLLに縮小する。
DLLでメモリ共有など使い慣れてない物の実験台としてやってみる。
0328デフォルトの名無しさん
2013/09/04(水) 21:34:31.15private String name;
public Person(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void chart(String phrase) {
System.out.println(name + ": " + phrase);
}
}
これのC++版を教えてくださいませんか?できればthisを使ってください
0329デフォルトの名無しさん
2013/09/04(水) 21:35:04.30chartはchatの間違いです。
0330デフォルトの名無しさん
2013/09/04(水) 21:49:35.61public:
Person(const std::string& name) : name(name) { }
std::string getName() const { return this->name; }
void chat(const std::string& phrse) const { std::cout << this->name << " : " << phrse << std::endl; }
private:
std::string name;
};
0331328
2013/09/04(水) 21:58:45.27ありがとうございます。すみません、これを実行すると
「Person*から非スカラ型Personへの変換が要求されました」とエラーが出ます。どういう意味でしょうか?
#include <iostream>
class Person
{
private:
std::string name;
public:
Person(std::string name)
{
this->name = name;
}
void chat(std::string phrase)
{
std::cout << name << ": " << phrase << std::endl;
}
};
int main()
{
Person emma = new Person("Emma");
emma.chat("Hi, choverybad.");
return 0;
}
0332デフォルトの名無しさん
2013/09/04(水) 22:01:01.21○Person emma("Emma");
0333デフォルトの名無しさん
2013/09/04(水) 22:05:30.63ありがとうございます!コンパイル通りました。
ところで、
Person emma("Emma");
emma.chat("Hi, choverybad.");
Person ryo("Ryo");
ryo.chat("Aloha");
こうやった場合うまくいったのですが、emmaとryoはそれぞれ違うメモリを参照していると考えて良いのですか?
となるとますますc++のnewがよくわかりません。
0334デフォルトの名無しさん
2013/09/04(水) 22:07:50.60>こうやった場合うまくいったのですが、emmaとryoはそれぞれ違うメモリを参照していると考えて良いのですか?
はい
>となるとますますc++のnewがよくわかりません。
スコープを超えるために必要
0335デフォルトの名無しさん
2013/09/04(水) 22:20:16.46emma->chat("Hi, choverybad.");
Person& ryo = new Person("Ryo");
ryo.chat("Aloha");
後でちゃんとdeleteしてあげないと、
エマさん達は亡霊として永遠に世界を彷徨う羽目になる
0336デフォルトの名無しさん
2013/09/04(水) 22:23:14.21JavaやC#から入るとこの辺がナゾのように思えると思う
0337デフォルトの名無しさん
2013/09/04(水) 23:03:18.84newで動的に作ったオブジェクトはdeleteするまでぶっ壊れない
0338デフォルトの名無しさん
2013/09/05(木) 13:06:33.99アトミック命令は無視され通常の演算になってる事が判明。
0339デフォルトの名無しさん
2013/09/05(木) 13:23:14.63__
,ィ彳彡彡彡ュ、
r ;´彡ィ"""´´´"ヾヾゝ
,r'' 彡ィ `ヽヾ\
/彡ヲ `ミミ入
{彡彡 ____ ̄ − - ヽミヽ
!彡ノi ,rFヲテz ,ィェェォ、. !ミミミ}
I''`彡! ,;~_~_; ,'_~_~、、|ミ}
レ Y `●ヲ'´:: ::`●ヤ'′ ミY´}
ト ヲ ノ :::.. '''´ !ノ ノ 何を言ってるのかさっぱり分からない
t__| / ヒ _ _)ヽ 〃 /
i _..........,_、 ヽ f-ィ
ヽ ''ヽー==-_> ノ
,--ー-イ´ヽ ⌒ イー- _
___ /ノ///// !ヽ ヽ、____イノi//ヽ///ヽー-、_
_ '//////|/////∧ \ イノ////ヽ、////////、、
////////|//////∧ \、__ノ´ !//////>//////////ヽ
/////////ト、//////∧ ,イ ̄ノ丶.|/////く////////////}
0340デフォルトの名無しさん
2013/09/05(木) 13:44:50.311次元配列でi×n + j
見たいに計算するのとどっちが速いですか?
0341デフォルトの名無しさん
2013/09/05(木) 13:58:38.010342デフォルトの名無しさん
2013/09/05(木) 14:50:38.040343デフォルトの名無しさん
2013/09/05(木) 15:20:53.12通常の演算がアトミックな環境なんだろ。
0344デフォルトの名無しさん
2013/09/05(木) 15:23:02.79遅さが問題にならないかぎりは楽な方を選べばOK
0345デフォルトの名無しさん
2013/09/05(木) 15:48:53.92どんな同期オブジェクトを使ってアトミックを実現しようとしたかは知らないが、
同期オブジェクトが全体で共有されていなかったというだけだろう。
普通にアトミック命令っていうとCPU関連のだが、これは命令単位だから無関係。
アトミックな処理でよく使われるCriticalSectionはプロセス内同期用でプロセスをまたげない。
Eventなどでもハンドル自体はプロセスに紐付けられるので、複製したり名前経由で開く必要がある。
>>339
AA厨なお前の理解力が低いだけじゃね?
0346デフォルトの名無しさん
2013/09/05(木) 18:52:45.080347デフォルトの名無しさん
2013/09/05(木) 19:11:20.07あとint型も同じですか
0348デフォルトの名無しさん
2013/09/05(木) 19:23:57.88ほらよ
ttps://sites.google.com/site/x32abi/
0349デフォルトの名無しさん
2013/09/05(木) 19:31:22.460350デフォルトの名無しさん
2013/09/05(木) 19:43:19.400351デフォルトの名無しさん
2013/09/05(木) 19:46:04.830352デフォルトの名無しさん
2013/09/05(木) 19:46:05.99I32LP64ならintが32bit/4byteでpointerとlongが64bit/8byte
ILP32ならintとlongとpointerが32bit/4byte
ところでIL32P64(LLP64)とI32LP64(LP64)ってOSによるって言われるけど、実際はこれコンパイラの領分じゃないの?
0353デフォルトの名無しさん
2013/09/05(木) 19:48:38.98Yes。今はintが4byteってbit数少なすぎて使い物にならない
32bitでもintは8byteにしないと駄目って状態
0354デフォルトの名無しさん
2013/09/05(木) 20:08:47.610355デフォルトの名無しさん
2013/09/05(木) 20:18:55.791byteが8bitだろうと9bitだろうとint32_tは32bitだ
0356デフォルトの名無しさん
2013/09/05(木) 22:48:01.8232ビットジャストと仮定してはいけない。
0357デフォルトの名無しさん
2013/09/05(木) 23:02:27.25シリアライズとかに使うとまずいのか?
0358デフォルトの名無しさん
2013/09/05(木) 23:03:02.26int32_tは厳密に32bit
32ビット以上なのはint_least32_tだ
0359デフォルトの名無しさん
2013/09/05(木) 23:03:09.930360KUSO KOTE
2013/09/05(木) 23:04:03.58んなこたーない
ISO/IEC 14882:2011 p18.4.1
ISO/IEC 9899:1999 p7.18.1.1
Exact-width integer types
0361デフォルトの名無しさん
2013/09/05(木) 23:22:32.130362デフォルトの名無しさん
2013/09/05(木) 23:26:10.3332bit環境は一律にILP32だけど64bitになるとIL32P64など整数型が4byteのままということもあるわけで
つまり64bit環境だとポインタを整数型で受けるにはint64_tの宣言が必要になるんですね
0363デフォルトの名無しさん
2013/09/05(木) 23:29:29.92お願いなのでint64_tでなくintptr_tにして下さい
0364デフォルトの名無しさん
2013/09/05(木) 23:32:45.39カウントするだけのDLLで。
不具合の原因は、各スレッドで終了時FreeLibraryを読んでたからみたい。これで初期化されてしまうよう。
#pragma data_seg("SHAREDMEM")
static volatile long shared = 0;
#pragma data_seg()
extern "C" int WINAPI foo() {
return InterlockedIncrement(&shared);
}
0365デフォルトの名無しさん
2013/09/05(木) 23:33:43.44そうします
0366デフォルトの名無しさん
2013/09/05(木) 23:35:44.69バカにも程がある
0367デフォルトの名無しさん
2013/09/06(金) 00:03:19.110368デフォルトの名無しさん
2013/09/06(金) 00:08:13.63LSI-Cとかいうやつは今でも16か8だろ。
32か16
0370デフォルトの名無しさん
2013/09/06(金) 03:50:02.92サイズが8ビットのポインタはないな。
0371デフォルトの名無しさん
2013/09/06(金) 08:31:37.570372デフォルトの名無しさん
2013/09/06(金) 09:17:12.58「OSとはコンパイラを含む」みたいなUnixですら厳守されてるか怪しい定義を持ってこないとCPUやOSでその辺を定めることは出来ないよなぁ…
だが、HDDであっても余程大規模にクラスタリングしないと128bitどころか64bitで事足りてしまうな。
メモリ空間を富豪的に使ったアルゴリズムやメモリバンク的な使い方を含むポインタとか、もっとニッチな特殊用途とかか?
0373340
2013/09/06(金) 09:23:43.79全体を計算するとき
xをインクリしながらa[x]を0からn*mまで計算するだけじゃないですか。
二次元だとiとjの全ての組み合わせについてa[i][j]で計算するから時間かかりませんか?
0374デフォルトの名無しさん
2013/09/06(金) 09:36:25.990375デフォルトの名無しさん
2013/09/06(金) 11:53:13.46http://ideone.com/6yv4ll
0376デフォルトの名無しさん
2013/09/06(金) 12:12:56.771次元配列と2次元配列だとアラインメント位しか変わらない。
配列(ポインタ)の配列だと、ポインタ参照のコストが増える。
0377デフォルトの名無しさん
2013/09/06(金) 12:13:35.50頼むから far ポインタの悪夢を蒸し返すのはやめてくれ
HDD を指すのにポインタは使わんだろ
mmap はメモリ空間内が前提だし
>>372
ところで 16384PB で足りない用途って何だろう
今の SDRAM 単価ではハワードヒューズでも買えないが富豪って誰?
0378デフォルトの名無しさん
2013/09/06(金) 12:22:01.526502
0379デフォルトの名無しさん
2013/09/06(金) 12:41:48.50仮に買えても設置運用で死ぬだろw
0380デフォルトの名無しさん
2013/09/06(金) 12:45:50.74>HDD を指すのにポインタは使わんだろ
仮想メモリ機構をコンパイラやライブラリで提供してしまいHDD全てをメモリとしてマップしてしまう、
とかいうアーキテクチャのコンパイラって想定が可能という話でしょ。
OSASKだったかメモリとストレージの区別がないOSって有った気がするし。
>富豪って誰?
富豪なのはアルゴリズム。
あんまいい例ではないが、例えばメモリアドレスの上位128bitを8bit毎にB木のキーに振るとか。
160bitをハッシュ、32bitをシノニムID、64bitがメモリ空間なハッシュテーブルにするとか。
128bitをIPv6アドレス、64bitをデータ種別、64bitがメモリ空間なクラスタリングアーキテクチャとか。
当然のことだが使い切ることは想定せず、スッカスカのまま運用する。
フラグメンテーションを気にせずGCなんて忘れてガンガン浪費する事もできる。
効率が悪いとあっという間にアドレス空間を食いつぶしてIPv4みたいな事になるけどなw
0381デフォルトの名無しさん
2013/09/06(金) 13:07:43.830382デフォルトの名無しさん
2013/09/06(金) 13:36:52.68物理メモリと仮想メモリをごっちゃにしてる?
仮想メモリに割り当てられるブツは物理メモリだけじゃなくて、
いまでもI/Oポートやファイルを割り当てているように、なんでも割り当てられるし、
しかも空間が広ければ広いほど自由度が上がる。
たとえば、ネットワーク上に分散したファイルをまとめて仮想メモリに割り当てるような
OSがあれば、普通にメモリを読み書きするプログラムを書くだけでクラスタ対応できちゃう。
0383デフォルトの名無しさん
2013/09/06(金) 13:45:01.66(32bit空間で256bit空間を扱う)のが悪夢って言ってるんだろう。
意味がわからないならnear/farポインタでググれ。
0384デフォルトの名無しさん
2013/09/06(金) 14:26:45.88そのすごいOSはもうあるんだが
0385デフォルトの名無しさん
2013/09/06(金) 14:36:16.090386デフォルトの名無しさん
2013/09/06(金) 16:20:27.82ああなるほど。だがどっちみちコンパイラサポートに全力で依存するのだし、
コンパイラにその辺始末させればnear/far程メンドクサクはならないんじゃね?
オーバヘッドは知らん
0387デフォルトの名無しさん
2013/09/06(金) 17:16:10.94ほとんど意識してないでしょ。
0388デフォルトの名無しさん
2013/09/06(金) 17:21:45.09ここは C++ スレなので詳しくは言わんが
0389デフォルトの名無しさん
2013/09/07(土) 12:49:12.11wstring pipeName = L"";
という書き方をしている箇所があるのですが
この構文はどういう意味でしょうか?
Lって何を指してるのですか?
マルチバイトの文字列には必ず必要なのかと思ったらそうとは限らないみたいですし・・・
0390デフォルトの名無しさん
2013/09/07(土) 12:52:58.94Literalの略。
マルチバイト文字ではなく、ワイド文字(を引数に取る)の際は必ず必要。
0391デフォルトの名無しさん
2013/09/07(土) 14:20:33.54>Literalの略
ソースは?
0392デフォルトの名無しさん
2013/09/07(土) 14:30:51.680393デフォルトの名無しさん
2013/09/07(土) 14:44:47.530394デフォルトの名無しさん
2013/09/07(土) 14:51:36.050395390
2013/09/07(土) 15:06:46.42失礼・・・。
0396デフォルトの名無しさん
2013/09/07(土) 15:28:03.200397デフォルトの名無しさん
2013/09/07(土) 15:32:44.560398デフォルトの名無しさん
2013/09/07(土) 15:42:12.60uiteral
Uiteral
も必ず必要
引用符は閉じたり閉まったりする
0399デフォルトの名無しさん
2013/09/07(土) 15:47:41.85が正しい
0400デフォルトの名無しさん
2013/09/07(土) 15:53:47.59UR"zzz(_*_)zzz"
0401デフォルトの名無しさん
2013/09/07(土) 17:14:12.64そう、L"xxx"って書くと1字16bitのUNICODE文字列になり、
それに関連して、_T("xxx")ってのがあるわけだが、
L"xxx"ってのは、規格なの?デファクトなの?
0402デフォルトの名無しさん
2013/09/07(土) 17:25:30.67ワイド文字の符号化方法は未規定
>_T
VC++のthcar.hにあるマクロ
>L
規格
0403デフォルトの名無しさん
2013/09/07(土) 17:30:34.270404デフォルトの名無しさん
2013/09/07(土) 18:09:19.140405デフォルトの名無しさん
2013/09/07(土) 18:24:52.06L5 ⇒ 5L
L5 だと識別子になっちゃう
0406デフォルトの名無しさん
2013/09/07(土) 19:18:09.160407デフォルトの名無しさん
2013/09/08(日) 01:13:11.470408デフォルトの名無しさん
2013/09/08(日) 17:37:11.27ロベールとか、独習とかありますが
当方、全くの初心者ではなく、プログラムにはやや精通していて、PHP、JS、Pythonなども分かるので、オブジェクト志向には抵抗はありません
アドバイス頂けたら幸いです
0409デフォルトの名無しさん
2013/09/08(日) 17:47:40.35なんのためにC++やろうとしてるのかによるな
ここは accelarated c++ なぞどうだい?http://www.amazon.co.jp/dp/4894714221
え?これもピアソン?
0411デフォルトの名無しさん
2013/09/08(日) 18:33:00.62>>409 のとおりだが、どのplatformで、何のライブラリで作ろうとしてるかってのもある
極端な話、API直叩きととQtとMFCじゃ本も全然違うし
0412デフォルトの名無しさん
2013/09/08(日) 19:45:36.04C++は特殊言語だから
最初は素直にロベール読むことをお勧めするよ
0413デフォルトの名無しさん
2013/09/08(日) 21:00:30.13禿1をも超えるクオリティ
0414デフォルトの名無しさん
2013/09/08(日) 22:51:43.40string型の配列を動的に確保したいのですが、それは可能でしょうか
一応、以下のようにやってみて、動作はしているのですが、
VC++の自動変数のウィンドウから、sに「<不適切な Ptr>」と表示されているので、
何か間違っているような気がして質問させていただきました
string *s;
s = new string[n];
for(int i=0; i<n; ++i) cin >> s[i];
for(int i=0; i<n; ++i) cout << s[i] << endl;
cout << sizeof(s) << endl; //ここが要素数より一つ小さくなる理由も分からない
delete[] s;
尚、delete後をブレークポイントにしています
教えていただけると幸いです。よろしくおねがいします
0415デフォルトの名無しさん
2013/09/08(日) 22:58:45.560416デフォルトの名無しさん
2013/09/08(日) 23:01:15.62ポインタにsizeofは無意味だぞ
0417デフォルトの名無しさん
2013/09/08(日) 23:01:46.350418デフォルトの名無しさん
2013/09/08(日) 23:01:59.02sizeof(s) の結果が要素数と違うのはポインタのサイズ(4バイトなり8バイトなり)を
返しているだけで、配列の要素数を返しているわけじゃないから。
0419デフォルトの名無しさん
2013/09/08(日) 23:03:21.12これが一番悪い答えな。良いこのみんなは覚えておくように
0420デフォルトの名無しさん
2013/09/08(日) 23:05:22.230421デフォルトの名無しさん
2013/09/08(日) 23:06:33.890422デフォルトの名無しさん
2013/09/08(日) 23:13:12.990423デフォルトの名無しさん
2013/09/08(日) 23:28:30.320424414
2013/09/08(日) 23:28:59.63sizeofに関しては理解しました。おはずかしい
deleteはよくわかりません
stringを動的にしたいのでは無く、stringの配列を動的にしたいです
どうでしょうか
0425デフォルトの名無しさん
2013/09/08(日) 23:29:53.080426デフォルトの名無しさん
2013/09/08(日) 23:31:42.69後者は、確保サイズが大きく書き換えが書き換えがよくされる時。
0427デフォルトの名無しさん
2013/09/08(日) 23:34:06.730428デフォルトの名無しさん
2013/09/08(日) 23:36:46.41どうしてだめなんですか?
悪いのは答えじゃなくて>>419のおつむじゃ
0429デフォルトの名無しさん
2013/09/08(日) 23:38:33.280430デフォルトの名無しさん
2013/09/08(日) 23:41:49.050431デフォルトの名無しさん
2013/09/09(月) 00:18:51.36VC++6指定の仕事来たぜ!
0432デフォルトの名無しさん
2013/09/09(月) 00:24:49.83おめでとう!
0433デフォルトの名無しさん
2013/09/09(月) 00:57:22.28VC6ではどうすればいいですか?
0434デフォルトの名無しさん
2013/09/09(月) 00:58:53.010435デフォルトの名無しさん
2013/09/09(月) 01:02:27.31>>414
>尚、delete後をブレークポイントにしています
>sに「<不適切な Ptr>」と表示されている
そりゃsが指してる先をdeleteしたんだから、sが指してるのは元々string[n]だっただけの未使用領域なのは当然。
未使用領域を指してるポインタは不適切な Ptrだろうさ、そりゃ。
0436デフォルトの名無しさん
2013/09/09(月) 01:04:22.14釣りだと思ったから指摘しなかった
0437デフォルトの名無しさん
2013/09/09(月) 01:11:45.06それで別のとこに食いついたレスするとかイミフです!(>_<)
0439デフォルトの名無しさん
2013/09/09(月) 01:55:07.34食べたいものは食べる。
食べたいものだけ食べる。
それでいいじゃないか
0440デフォルトの名無しさん
2013/09/09(月) 02:40:47.690441デフォルトの名無しさん
2013/09/09(月) 03:23:39.09環境は`PostgreSQLです。
現在、以下のようなデータベースがあります。
DB名: girls
カラム: id (UNIQUE) , firstname , lastname , birthday , address , telno , mailaddress , lineid , twitterid , blogurl , boyid , startboyfrienddate
DB名: seiri
カラム: id , startdate
DB名: underware
カラム: id , date , buracolor , pantucolor , stokkingcolor
DB名: kousui
カラム: id , date , kousuiname
DB名: boys
カラム: id (UNIQUE) , firstname , lastname
girlsに入力されている各girlについて、付き合ったことのあるboysのidを関連付けさせたいと思っています。
girlsにlastboyidというカラムを追加しようと思いましたが、1人が過去に複数人と付き合ったことがある場合があり、
lastboyid2 , lastboyid3, ...と追加することになってきりがないため、データベースの設計について悩んでいます。
カラムに配列を入れることもできるらしいのですが、非推奨とのことでした。
非推奨ではない方法で何とか関連付けさせることはできないものでしょうか?
もう1ヶ月悩んでいます助けてください。
0442デフォルトの名無しさん
2013/09/09(月) 03:33:49.16コンパイラ付属のSTLライブラリのソース読めば良いと思うよ
>>441
スレチすぎるが…
DB名: kousai
カラム: id , girl_id , boy_id
交際期間を含めるなら、 , startdate , enddateを追加。
0443デフォルトの名無しさん
2013/09/09(月) 03:35:28.86こんな気持ち悪いテーブル初めて見たw
0444デフォルトの名無しさん
2013/09/09(月) 03:57:21.150445デフォルトの名無しさん
2013/09/09(月) 04:22:21.640446デフォルトの名無しさん
2013/09/09(月) 04:28:54.830447デフォルトの名無しさん
2013/09/09(月) 04:53:39.850448デフォルトの名無しさん
2013/09/09(月) 07:59:45.140449デフォルトの名無しさん
2013/09/09(月) 08:11:36.600450デフォルトの名無しさん
2013/09/09(月) 08:24:42.01ちょっとなに言ってるかわかんない
0451デフォルトの名無しさん
2013/09/09(月) 08:32:00.81VC6のIDEに最新のcl積め /GXも大丈夫だ
コマンドラインコンパイラ・リンカは自分でひっこぬいて来い
あと、あの当時は/EHscじゃなかったから、適当に何とかしてくれ
0452デフォルトの名無しさん
2013/09/09(月) 08:42:58.30STLそのもののソースのことか、STLを使ったソースのことか、どっちだ?
まあどっちにしても慣れ。
0453408
2013/09/09(月) 11:20:58.190454デフォルトの名無しさん
2013/09/09(月) 20:11:17.27VCって書いてるからそのものでしょ
0455デフォルトの名無しさん
2013/09/09(月) 22:21:18.39別に難解でも何でもないよ
Templateに慣れていれば簡単
0456デフォルトの名無しさん
2013/09/09(月) 22:26:18.80http://www.cplusplus.com/reference/
こういう所を読んでおけば十分
C++コンパイラはpythonなどで機械式に展開したソースが多いので
確かに人間が見ると見にくいが、難解というのとは違う
0457デフォルトの名無しさん
2013/09/09(月) 22:28:37.97言語の勉強はじめようとしてる人間に規格書すすめるアホって結構いるよね
0458デフォルトの名無しさん
2013/09/09(月) 22:41:07.910459デフォルトの名無しさん
2013/09/09(月) 22:59:39.44#define _SECURE_SCL 0
#include <time.h>
#include <stdio.h>
#include <vector>
using namespace std;
unsigned int N = 1<<12;
unsigned int ROOP = 5;
void main() {
unsigned int n, r, sum, cl;
vector< vector<char> > vec(N, vector<char>(N));
for(n=0; n<N*N; n++) vec[n/N][n%N] = n%255;
cl=clock(); sum=0; for(r=0; r<ROOP; r++) for(n=0; n<N*N; n++) sum+=vec[n/N][n%N]; cl=clock()-cl;printf("cl=%d sum=%d\n", cl, sum);
cl=clock(); sum=0; for(r=0; r<ROOP; r++) for(n=0; n<N*N; n++) sum+=vec[n%N][n/N]; cl=clock()-cl;printf("cl=%d sum=%d\n", cl, sum);
vector< vector<char> >().swap(vec);
char **arr = new char *[N]; for(n=0; n<N; n++) arr[n] = new char [N]; for(n=0; n<N*N; n++) arr[n/N][n%N] = n%255;
cl=clock(); sum=0; for(r=0; r<ROOP; r++) for(n=0; n<N*N; n++) sum+=arr[n/N][n%N]; cl=clock()-cl;printf("cl=%d sum=%d\n", cl, sum);
cl=clock(); sum=0; for(r=0; r<ROOP; r++) for(n=0; n<N*N; n++) sum+=arr[n%N][n/N]; cl=clock()-cl;printf("cl=%d sum=%d\n", cl, sum); }
0460デフォルトの名無しさん
2013/09/10(火) 00:14:53.090461デフォルトの名無しさん
2013/09/10(火) 00:15:03.460462デフォルトの名無しさん
2013/09/10(火) 00:52:14.12そりゃおめーSDRAMにはバースト転送モードというのがあってだな
0463デフォルトの名無しさん
2013/09/10(火) 01:29:19.870464デフォルトの名無しさん
2013/09/10(火) 02:20:41.07代入や+=演算子でメンバ変数である配列をコピーする場合、
どうするのが一番速いんだろうか?
forループを使うかループを展開するか、
生配列を使わずstd::arrayを使って=演算子を使うか。
下手なことして最適化の邪魔をしてしまうとかある?
Debugモードならループを展開したのがもちろん早かったんだが、
Releaseモードだとどれもゼロ秒になってしまって分からん
0465デフォルトの名無しさん
2013/09/10(火) 02:21:55.66VS2010を使用しています。
0466デフォルトの名無しさん
2013/09/10(火) 02:32:13.460467デフォルトの名無しさん
2013/09/10(火) 02:37:56.87const X&operator+=(const X&a){struct ha{int hairetsu[10];}; *(*ha)hairetsu=*(*ha)a.hairetsu; return*this;} };
0468デフォルトの名無しさん
2013/09/10(火) 03:49:51.000469デフォルトの名無しさん
2013/09/10(火) 04:30:13.120470デフォルトの名無しさん
2013/09/10(火) 05:06:53.41VSのDebugモードは通常最適化しないから測定する意味ないよ。
0471デフォルトの名無しさん
2013/09/10(火) 19:15:24.160472デフォルトの名無しさん
2013/09/10(火) 21:48:14.23それは、たぶんベンチ取ろうとしているコードに問題がある
最適化がかかると、外部に副作用をもたらさないものは無視される
例えば計算結果を表示せずに、時間だけ測ろうとすると、時間は常に0になる
また計算結果が常に同じになるものは、事前に計算してその定数を表示するコードに
なることがある
0473デフォルトの名無しさん
2013/09/10(火) 22:48:35.09こう言う当たり前の事を質問する奴が多いのは、Cとかアセンブラに無縁だった奴がC++を始めるからだろうか?
0474デフォルトの名無しさん
2013/09/10(火) 23:14:27.07C++がゆとり用言語だからだよ
0475デフォルトの名無しさん
2013/09/10(火) 23:38:16.45WindowsだとUTF16LEにしないと全てのファイルにアクセスできなかったり、fopenで開ける限界がOSやハードの上限より下だったり不便です。
0476デフォルトの名無しさん
2013/09/10(火) 23:43:09.75Javaとかに比べると爆死で仕留めてくれる率が高い
0477デフォルトの名無しさん
2013/09/10(火) 23:53:57.78EDO時代の牛太郎かおまえは
0478デフォルトの名無しさん
2013/09/10(火) 23:57:16.990479デフォルトの名無しさん
2013/09/11(水) 00:49:22.090480464
2013/09/11(水) 02:00:10.35無事Releaseモードでも計測ができました。
結果自分でループを展開しておいたものが一番速い結果になりました。
0481デフォルトの名無しさん
2013/09/11(水) 08:34:22.05findでイテレータが返ってくるということは値が複数ある場合を想定してるってことだよね
0482デフォルトの名無しさん
2013/09/11(水) 08:57:54.79そうでもないよ。
0483デフォルトの名無しさん
2013/09/11(水) 09:04:18.62そんなことないか
0484デフォルトの名無しさん
2013/09/11(水) 09:39:38.43イテレータで正解。
unordered_map なら optional<ValueType&> でもいいんじゃないかな。
0485デフォルトの名無しさん
2013/09/11(水) 09:43:21.380486デフォルトの名無しさん
2013/09/11(水) 09:57:20.05見つからないことを示す値も欲しい
0487デフォルトの名無しさん
2013/09/11(水) 11:31:26.39だからoptionalって言っているんだろ。
0488デフォルトの名無しさん
2013/09/11(水) 12:29:27.07WinといえばNTFSが多いが、NTFSがUNICODEで格納してる以上、
UNICODEでアクセスするのがネイティブだと考えるのが自然
0489デフォルトの名無しさん
2013/09/11(水) 14:02:26.17mapだけインターフェースが違ってたら困るだろ
0490デフォルトの名無しさん
2013/09/11(水) 15:01:45.17インターフェイスは揃えた方がいいんだ
おまえらもクラス作るときはそういう配慮しろ
0491デフォルトの名無しさん
2013/09/11(水) 15:16:07.95fopenやwfopenは、同時に開けるファイルハンドル数に制限があったり、UNCODEで切り替え無いといけないんですが。
0492デフォルトの名無しさん
2013/09/11(水) 15:47:43.140493デフォルトの名無しさん
2013/09/11(水) 15:54:34.920494デフォルトの名無しさん
2013/09/11(水) 18:14:45.22そりゃぁ無理だ。
0495デフォルトの名無しさん
2013/09/11(水) 21:54:24.61ファイルの読み書きはストリームのみなのがいまいち。
0496デフォルトの名無しさん
2013/09/11(水) 22:31:14.94無理です。
Windowsのマルチバイトファイル処理関数は
開けないファイルがあったり、制限がある。
0497デフォルトの名無しさん
2013/09/11(水) 22:59:34.11ロケールでUTF-8を選択できればマルチバイト文字用APIだけで済ませられそうなもんだけどな。
コードページ番号は存在するくせに使えないケースが普通にあってどうしようもない。
0498デフォルトの名無しさん
2013/09/11(水) 23:24:51.000499デフォルトの名無しさん
2013/09/12(木) 00:11:31.20具体的に何が足りない?
0500デフォルトの名無しさん
2013/09/12(木) 00:17:39.60インターフェースを統一するためなんだね
皆さんありがとう
0501デフォルトの名無しさん
2013/09/12(木) 00:28:18.310502デフォルトの名無しさん
2013/09/12(木) 09:54:54.16ウィンドウズからリナックスの入ってるドライブにはそのままアクセスできない
逆にリナックスからウィンドウズの入ってるドライブにはそのままアクセスできる
画像とかも普通にダブルクリックで見られる
0503デフォルトの名無しさん
2013/09/12(木) 09:57:22.460504デフォルトの名無しさん
2013/09/12(木) 10:34:14.64モジュールでもfuseでも、昔から読み込みはできてたぞ
書き込みが不安定だっただけで
0505デフォルトの名無しさん
2013/09/12(木) 10:55:16.730506デフォルトの名無しさん
2013/09/12(木) 13:54:39.35書き込みだって出来るよ
0507デフォルトの名無しさん
2013/09/12(木) 15:21:51.69それはファイルシステムを読むためのドライバが入ってるかどうかの問題で全く別の問題。
Linuxでも/usr/homeをFATなパーティションにすればWindowsから読める。
/をFATに出来るかどうかは知らん。
Windowsでもドライバ突っ込めば出来るんじゃねーの?
0508デフォルトの名無しさん
2013/09/12(木) 15:22:47.47領域まるごと死なせてから言い訳はゆるさん
0509デフォルトの名無しさん
2013/09/12(木) 15:47:48.30Linuxの非レガシファイルシステムは全滅じゃね?
ちまちま致命的なミスのfixしてた気がするんだが。
0510デフォルトの名無しさん
2013/09/12(木) 16:56:51.65そりぁ Linux なんて相手にしてない Windows だからねぇ...
0511デフォルトの名無しさん
2013/09/12(木) 17:03:37.100512デフォルトの名無しさん
2013/09/12(木) 18:26:54.10致命的って、試験運用のbtrfsぐらいだろ。
サーバーで使われてるジャーナル付きfsが、そう頻繁に壊れてたまるか。
FATを軽く拡張しただけのNTFSのがよっぽど怖いわ。
0513デフォルトの名無しさん
2013/09/12(木) 19:31:44.762009/10頃、 Ext4で毎週のように新しい被害者が出た高頻度破損
原因はジャーナルが一周したところでリブートするとチェックサムエラーとかいうアレゲなバグ
http://www.atmarkit.co.jp/flinux/rensai/watch2009/watch11a.html
2.6.0 (Dec ’03) から 2.6.39 (May ’11) の間のファイルシステムへのパッチ分析
バグ件数XFS:511、Ext4:450、Btrfs:358、Ext3:229、ReiserFS:158、JFS:80
時間軸分析してもExt3も含めて大きな減少傾向や増加傾向はなし
http://linux.slashdot.jp/story/13/04/10/0126257/
http://green-rabbit.sakura.ne.jp/note/2013/04/07/189/
https://www.usenix.org/conference/fast13/study-linux-file-system-evolution
修正件数が目に見えるが故だろうけど、安定してる感が有るかというと微妙……
発生率ベースでは低いんだろうけど、それいうとNTFSも破損報告が多いかというと…なぁ…
0514デフォルトの名無しさん
2013/09/12(木) 19:39:36.28どこがだよアホ
0515デフォルトの名無しさん
2013/09/12(木) 19:48:24.10致命的なバグがちまちまって1例だけじゃねえか。
>>514
お前はNTFSの歴史とFATとの互換性を調べてこい。
0516デフォルトの名無しさん
2013/09/12(木) 19:54:26.610517デフォルトの名無しさん
2013/09/12(木) 20:59:44.47> お前はNTFSの歴史とFATとの互換性を調べてこい。
ばーか (w
NTFS は元々、Windows NT 系におけるサー バ用途を目的として開発されたファイルシステムであり、MS-DOS から使われてきた FAT と互換性を持たない。
0518デフォルトの名無しさん
2013/09/12(木) 21:22:37.65FATはそのままNTFSに変換できるぞ。勉強になったな。
とっととNTFSの歴史とFATとの互換性を調べてこい。
0519デフォルトの名無しさん
2013/09/12(木) 21:52:28.67どこまでコンバーター開発に
力を入れるかであって、
FATを拡張したというのが誤りで
あることに変わりはないのだが
キチガイなの?
0520デフォルトの名無しさん
2013/09/12(木) 22:18:44.23互換性があったから単独ディスクで変換なんて器用な真似ができるんだよ。
憶測だけで反論してないでとっとと自分の目で確かめて来いよガキ。
0521デフォルトの名無しさん
2013/09/12(木) 22:32:43.500522デフォルトの名無しさん
2013/09/12(木) 22:34:10.08FAT-NTFS変換はMFTを空き領域に作り直してるから器用クソも無いな。
なので変換したボリュームはファイルテーブルが変な位置にあってパフォーマンスがちょいと落ちる。
0523デフォルトの名無しさん
2013/09/12(木) 22:41:13.86C++erたるもの、ディスクエディタでボリュームちょっと覗いて来い
ただ、512バイト単位(代表値)で格納してるのは同じだから、
意味論的になら、テーブルを変換することはできる
だから、相互変換は実装上、力技でやってるわけで、それなりに遅いぞ
0524デフォルトの名無しさん
2013/09/12(木) 23:11:00.85ちょっと詰まったからソース公開してる完成されたローグライクゲームのを参考にしようとしたんだけどファイル多すぎてちょっとよくわからない
完成形と似たプログラムを参考にするときって何から見ればいいのでしょう?
0525デフォルトの名無しさん
2013/09/12(木) 23:26:43.63…が、参考にしたい部分を見つけるためのコード読み技能も必要になってくるんだよなぁ…
勘所がわからないなら、makeから全部読むしか無いね。
0526デフォルトの名無しさん
2013/09/12(木) 23:31:13.660527デフォルトの名無しさん
2013/09/12(木) 23:36:57.31まずはテトリスにしとけば
0528デフォルトの名無しさん
2013/09/12(木) 23:45:46.46ですよねー、がんばります
>>526
なるほど、確かにファイルの分け方も考えていなかったです、みてみます
>>527
いや、まだGUIには手を出してないし
単純にローグライクが好きなジャンルのゲームだからってだけです
GUIにする前に挑戦してみます
0529デフォルトの名無しさん
2013/09/13(金) 00:46:25.91テトリスの作り方
http://www.nicovideo.jp/watch/sm9153259
0530デフォルトの名無しさん
2013/09/13(金) 00:52:56.12見てないけど多分見たことあるやつだと思う、まだまだコンソールで完成が見えないからまたあとで見返してみるよ、さんくす
0531デフォルトの名無しさん
2013/09/13(金) 03:42:51.96普通に頭からおっていくのが一番じゃないか?
それこそ doxygenとか IDEの能力借りるとかして、
そこが読み込まないといけない部分か?は推測立てながらだが。
0532デフォルトの名無しさん
2013/09/13(金) 08:06:13.02変換できるから互換性あるとか...バカじゃねーの?
って書こうとしたら既にフルボッコ状態で、ワロタ
0533デフォルトの名無しさん
2013/09/13(金) 09:54:34.970534デフォルトの名無しさん
2013/09/13(金) 09:56:50.720535デフォルトの名無しさん
2013/09/13(金) 10:00:40.08google style guideとかが .hなんで妙に方が狭い。
でも、cのheaderとは根本から違うものだとおもうから、
.hを使う気にはなれないんだよなぁ。
0536デフォルトの名無しさん
2013/09/13(金) 10:16:12.94変換できるから
0537デフォルトの名無しさん
2013/09/13(金) 10:31:43.31.H
0538デフォルトの名無しさん
2013/09/13(金) 12:43:08.09そこが読み込まないといけない部分か?を推測できるなら
そもそもローグライクなんて選ばないだろ
てかローグライクのプレイ適性そのものもあやしいw
0539デフォルトの名無しさん
2013/09/13(金) 12:50:58.98シフトJISじゃなくてShift_JISならな
0540デフォルトの名無しさん
2013/09/13(金) 13:38:39.44hpp hxx
なんで hh がないんだ
0541デフォルトの名無しさん
2013/09/13(金) 13:40:24.280542デフォルトの名無しさん
2013/09/13(金) 13:59:16.83んなわけないだろ。
変換が必要なら、それは互換がない。
0543デフォルトの名無しさん
2013/09/13(金) 16:43:42.30.c++、.h++に統一しようぜ
0544デフォルトの名無しさん
2013/09/13(金) 17:33:01.87hhもたまに見かける気がするんだが
>>543
記号類を避ける場合に使えない
0545デフォルトの名無しさん
2013/09/13(金) 18:15:56.70#include <stdio.h>
#include <stdlib.h>
int main(void){
FILE* fp;
char s[50];
/* 読み取り用にテキストファイルをオープン */
fp = fopen( "test.txt", "w" );
if( fp == NULL ){
fputs( "ファイルオープンに失敗しました。\n", stderr );
exit( EXIT_FAILURE );
}
fputs("hello", fp);
/* 各行を読み取りながら、標準出力へ出力 */
while( 1 ){
if( fgets( s, sizeof(s), fp ) == NULL ){
if( feof( fp ) ){
break;
}
else{
fputs( "エラーが発生しました。\n", stderr );
exit( EXIT_FAILURE );
}
}
fputs( s, stdout );
}
fclose( fp );
getchar();
return 0;
}
0546デフォルトの名無しさん
2013/09/13(金) 18:41:19.67エラーの内容を書けよ
読み取りなのに"w"で開いてるから駄目なんじゃねえの?(適当)
0547デフォルトの名無しさん
2013/09/13(金) 19:21:47.43正確に言うと動くのですが、途中弟エラーをはくと言いますか、実行結果にすると、
Helloヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘエラーが発生しました
となるのです、
0548デフォルトの名無しさん
2013/09/13(金) 19:25:13.44話はそれからだ
0549デフォルトの名無しさん
2013/09/13(金) 19:38:36.72サンプルを改造するにしても
1ワードずつ変更して比較したりして
隅々まで把握するような学び方をすべし
0550デフォルトの名無しさん
2013/09/13(金) 21:55:13.98コンパイラーやライブラリのバグ。別なコンパイラーにしろ
0551デフォルトの名無しさん
2013/09/13(金) 22:43:11.450552デフォルトの名無しさん
2013/09/13(金) 22:44:34.970553デフォルトの名無しさん
2013/09/13(金) 22:46:07.680554デフォルトの名無しさん
2013/09/13(金) 23:00:20.52何が問題以前なのか
0555デフォルトの名無しさん
2013/09/13(金) 23:06:22.44俺、>>553じゃないけど
C言語のみならCやC/C++スレで、C++で拡張されたものが含まれていたらここでもいいと思う
質問者は自分が何言語でやっているのかすら分かっていないよな気がする
0556デフォルトの名無しさん
2013/09/13(金) 23:10:51.53つまりC++を覚えるだけでなく、
Cも学んだ上で自分のコードが
Cでも通るのか見極めないと
このスレで質問する資格が無いとな
0557デフォルトの名無しさん
2013/09/13(金) 23:14:32.12fp = fopen( "test.txt", "rw" );
/* 各行を読み取りながら、標準出力へ出力 */
fseek(fp, 0, SEEK_SET);
while(1) {
あとsは0セットしてから使え
そしてC++じゃねー
0558デフォルトの名無しさん
2013/09/13(金) 23:28:36.60>sは0セットしてから使え
why?
0559デフォルトの名無しさん
2013/09/13(金) 23:34:38.61>>554から立派なC++だ!って言われるよ
>>558
CじゃなくC++だからだよ
0560デフォルトの名無しさん
2013/09/13(金) 23:39:30.65ゼロで埋めとかないと読み込んだ文字列の終端がわからないからだよ。
その結果がヘヘヘだよ。
0561デフォルトの名無しさん
2013/09/13(金) 23:41:42.29ゼロクリアしてても全部使いきるし。
0562デフォルトの名無しさん
2013/09/13(金) 23:45:32.170563デフォルトの名無しさん
2013/09/13(金) 23:48:37.14最初の一行目だけ上手く動くんですねわかります
0564デフォルトの名無しさん
2013/09/13(金) 23:56:27.69俺同様にC++のことあんまり知らないんだな
0565デフォルトの名無しさん
2013/09/13(金) 23:57:05.10スマソ
0566デフォルトの名無しさん
2013/09/14(土) 00:16:10.840567デフォルトの名無しさん
2013/09/14(土) 01:12:59.240568デフォルトの名無しさん
2013/09/14(土) 01:14:21.160569デフォルトの名無しさん
2013/09/14(土) 01:15:05.65俺はど下手米語と、北京語、キリール圏とハルピン付近、ヘブライ語くらいはできる
ヒンズー語にトライ中だが、今んとこ超硬すぎて連敗続きだ
英語はカタコトできるが、英語に似て非なるところに異常なまでの弱点をかかえている
広東とヒンズー語が中ボスのうちラスに近い強敵、それと文字を持たないアイヌ語くらい
わかりやすさにかけては痛車が象徴するように
難しい概念も一歩はなれて落ち着いて整理すると
そんなに人類まるごと全部アウェーにするものではない
「非公式・意訳ですよ」って断り書きが免罪符となるだろう
誰も反対なんかしやしねーよ、「公式・直訳」で儲ける気満々なやつも
それを参考にしないわけがない
どっちかつーと2ちゃんスラング満載のほうが、
本音が伝わりやすいだろ、そう思わんか?
0570デフォルトの名無しさん
2013/09/14(土) 07:01:03.710571デフォルトの名無しさん
2013/09/14(土) 07:08:37.330572デフォルトの名無しさん
2013/09/14(土) 07:42:42.560573デフォルトの名無しさん
2013/09/14(土) 08:24:43.92お前の主張だとbtrfsはext3の拡張なんだな
https://btrfs.wiki.kernel.org/index.php/Conversion_from_Ext3
0574デフォルトの名無しさん
2013/09/14(土) 10:10:29.47そろそろ許してやれ
0575デフォルトの名無しさん
2013/09/14(土) 11:51:37.400576デフォルトの名無しさん
2013/09/14(土) 14:44:59.110577デフォルトの名無しさん
2013/09/14(土) 16:39:46.66輝いてる? (w
0578デフォルトの名無しさん
2013/09/14(土) 17:08:59.450579デフォルトの名無しさん
2013/09/14(土) 22:12:27.07explicit がついているのを見つけたんですが、これって何か意味があるんでしょうか。
0580デフォルトの名無しさん
2013/09/14(土) 22:14:39.09コンパイル通っちゃった
0581デフォルトの名無しさん
2013/09/15(日) 13:13:45.74〃. ̄. ̄.ヽ
|: : : |
| : : :|
ヽ._._./
http://monobook.org/wiki/NuGet
0582デフォルトの名無しさん
2013/09/15(日) 23:58:32.280583デフォルトの名無しさん
2013/09/16(月) 08:45:03.290584デフォルトの名無しさん
2013/09/16(月) 10:19:02.002chで質問から始めてます
0585デフォルトの名無しさん
2013/09/16(月) 10:21:04.310586デフォルトの名無しさん
2013/09/16(月) 10:21:28.78{
hoge(int a, int b=0){}
};
hoge h = 111;
これも変換コンストラクタになりますか?
0587デフォルトの名無しさん
2013/09/16(月) 10:27:47.95なる。
12.3.1p1 Conversion by constructor
0588デフォルトの名無しさん
2013/09/16(月) 10:29:50.41hoge厨うざ
0589デフォルトの名無しさん
2013/09/16(月) 10:37:42.70お前もう少し迷惑考えろよ。
頭おかしいんじゃね。
0590デフォルトの名無しさん
2013/09/16(月) 10:47:21.790591デフォルトの名無しさん
2013/09/16(月) 10:52:51.43privateメンバのユニットテストはどうすればいいのか
0592デフォルトの名無しさん
2013/09/16(月) 10:53:59.57いやマジで
0593デフォルトの名無しさん
2013/09/16(月) 11:00:12.63しなくていい
0594デフォルトの名無しさん
2013/09/16(月) 11:37:54.38ヘッダにメンバ全部書いてりゃそれでいいけど、pimplでヘッダからprivateメンバ追い出した場合はどうすればいいのかと
0595デフォルトの名無しさん
2013/09/16(月) 11:44:01.080596デフォルトの名無しさん
2013/09/16(月) 12:04:50.750597デフォルトの名無しさん
2013/09/16(月) 12:30:12.020598デフォルトの名無しさん
2013/09/16(月) 12:35:40.620599デフォルトの名無しさん
2013/09/16(月) 12:41:17.22それだけだとclassの直後に書いた変数もprivateになってしまうので、
#define class struct
も付け加える
0600デフォルトの名無しさん
2013/09/16(月) 12:47:31.53struct unko {};
0601デフォルトの名無しさん
2013/09/16(月) 12:58:10.130602デフォルトの名無しさん
2013/09/16(月) 13:29:04.86各関数でデバッグメッセージを出力するなど、異常発生位置を特定しやすいように工夫すれば、
ユニットテストの粒度を大きくしても問題ない
0603デフォルトの名無しさん
2013/09/16(月) 17:00:48.12friendも使わずに済むし、その方がいいか
0604デフォルトの名無しさん
2013/09/16(月) 19:02:58.79>>586みたいなクズの場合は社会から消えるだけで社会貢献になる
0605デフォルトの名無しさん
2013/09/16(月) 19:19:30.150606デフォルトの名無しさん
2013/09/16(月) 19:25:26.19そんな自分を認めることができなくてこういう頭の弱い行動に出てる
0607デフォルトの名無しさん
2013/09/16(月) 19:33:07.73こういう反応するともっと恥かくと思うんだが…マゾいな。
0608デフォルトの名無しさん
2013/09/16(月) 19:46:34.990609デフォルトの名無しさん
2013/09/16(月) 19:57:57.290610デフォルトの名無しさん
2013/09/16(月) 20:04:40.42else puts("まとも");
記事全文を本当に検索しているかどうかさえ怪しいし…
0611デフォルトの名無しさん
2013/09/16(月) 20:36:43.51ウェブサイトだけじゃなくて書籍でもそうだぞ
例外はないから悪本フィルタリングするならまずはサンプル探してHogeが使用されているかチェック
そこで生き残った本からさらに悪本と良書を選別
これが一番効率いい
0612デフォルトの名無しさん
2013/09/16(月) 20:39:56.760613デフォルトの名無しさん
2013/09/16(月) 20:41:06.93どう見ても頭悪いだろw
0614デフォルトの名無しさん
2013/09/16(月) 20:43:03.260615デフォルトの名無しさん
2013/09/16(月) 20:55:51.170616デフォルトの名無しさん
2013/09/16(月) 20:59:26.82ハゲがキレてると仮定してhage厨と呼ぼう(提案)
0617デフォルトの名無しさん
2013/09/16(月) 21:01:23.28それが馬鹿に見えるんだと思うけど、馬鹿じゃなくてアスペの一種。
0618デフォルトの名無しさん
2013/09/16(月) 21:24:12.760619デフォルトの名無しさん
2013/09/16(月) 21:27:53.320620デフォルトの名無しさん
2013/09/16(月) 21:35:56.94待て待て、反例じゃなく「確からしさ」だろ円形脱毛症
0621デフォルトの名無しさん
2013/09/16(月) 21:37:20.57そうしないとスレが破壊される
ネットでプログラムの説明しているものにhoge使っていたら、そいつは基地外って覚えておくように
0622デフォルトの名無しさん
2013/09/16(月) 22:28:27.500623デフォルトの名無しさん
2013/09/16(月) 22:33:45.56誰にも相手にされてないけどw
0624デフォルトの名無しさん
2013/09/16(月) 22:41:01.92Google、Facebook、Amazon、Yahooに太刀打ちできるところがあるか?
hoge使うような知恵遅れのいる企業は知恵遅れに毒されてるから
イノベーションは起こせない
成功してもmixiやLINEみたいに国内止まり
企業は人間が作るもの、まず人間改革から始める必要がある
Googleに勝ちたかったらまずはhogeとか使ってる百流エンジニアを解雇しろ
それでやっとスタートラインだ
0625デフォルトの名無しさん
2013/09/16(月) 22:48:10.230626デフォルトの名無しさん
2013/09/16(月) 22:50:56.67やぁ、知恵遅れ会社のドカタさん
>>624
日本に必要なのはドカタ。知恵遅れのほうが良いんだよ
0627デフォルトの名無しさん
2013/09/16(月) 22:53:25.22ドカタでも自分の頭が悪いのを自覚しているドカタに限るな
頭が悪い癖に「頭がいいんだぞー」アピールしてる馬鹿は一番痛い
0628デフォルトの名無しさん
2013/09/16(月) 22:58:59.620629デフォルトの名無しさん
2013/09/16(月) 23:07:15.180630デフォルトの名無しさん
2013/09/16(月) 23:12:06.790631デフォルトの名無しさん
2013/09/16(月) 23:14:48.89じゃ、ヨイトマケで
0632デフォルトの名無しさん
2013/09/16(月) 23:15:48.910633デフォルトの名無しさん
2013/09/16(月) 23:17:33.81なんでわざわざ自分の印象を悪くする単語(?)を使うのか。
0634デフォルトの名無しさん
2013/09/16(月) 23:23:49.46ID出なくて良かったですね
0635デフォルトの名無しさん
2013/09/16(月) 23:35:30.300636デフォルトの名無しさん
2013/09/16(月) 23:38:26.190637デフォルトの名無しさん
2013/09/16(月) 23:41:39.880638デフォルトの名無しさん
2013/09/16(月) 23:43:48.920639デフォルトの名無しさん
2013/09/17(火) 00:11:27.570640デフォルトの名無しさん
2013/09/17(火) 00:15:43.200641デフォルトの名無しさん
2013/09/17(火) 00:19:54.570642デフォルトの名無しさん
2013/09/17(火) 00:34:43.500643デフォルトの名無しさん
2013/09/17(火) 00:40:09.41日本がhogeをパクった
0644デフォルトの名無しさん
2013/09/17(火) 00:41:53.060645デフォルトの名無しさん
2013/09/17(火) 00:54:28.040646デフォルトの名無しさん
2013/09/17(火) 00:57:16.47なにがあったか話せばすっきりするんじゃないですか?
0647デフォルトの名無しさん
2013/09/17(火) 01:05:02.660648デフォルトの名無しさん
2013/09/17(火) 01:05:27.15消すの忘れて残してしまったらどうしようと思うw
0649デフォルトの名無しさん
2013/09/17(火) 01:27:59.56> C++関連スレでhogeを使うなと騒いでる人の行為を抽象化して客観視すれば
> どういう人であるか、そういう人の行動原理はなにに基づくことが多いかは自然に感じるところがある
>
> ・目標に知らせずに長期にわたって目標の行動を継続的に監視、動きがあれば速やかに反応
> ・目標のなにげない行動一つをきっかけにして、目標やその周囲の反応を無視して自身が満足するまで執拗に行動を続ける
> ・目標の言動を自分に都合よく解釈して目標の人格・思想・感情を決めつけて、目標自身やその周囲から否定されても認識を変えない
> ・行動を糾弾されると理由にならない理由を持ち出して自分の行為の原因は全て目標にあると責任回避・自己正当化
0650デフォルトの名無しさん
2013/09/17(火) 01:28:17.960651デフォルトの名無しさん
2013/09/17(火) 01:38:43.63それは恥ずかしいなw
まぁhogeよりはマシだが。
0652デフォルトの名無しさん
2013/09/17(火) 01:48:31.650653デフォルトの名無しさん
2013/09/17(火) 02:27:53.19hoge入りコードは殺虫剤だから
沢山書いてゴキブリをピクピクさせてやれよ
0654デフォルトの名無しさん
2013/09/17(火) 02:34:21.12メタ構文変数=命名に意味はない
な訳だから
使い捨てで当事者間の意思疎通が出来ればそれでいいんだよね。
他人から見ればまさにゴミかもしれないが
それが分からない人が無理に価値を見出そうとする必要はないよ。
コイサンマンのコーラ瓶じゃないんだからさ。
0655デフォルトの名無しさん
2013/09/17(火) 03:12:28.01じゃあテメーのオツムの弱い仲間内で使ってろ
人目に触れるところに汚物を出すんじゃねーよボンクラ
0656デフォルトの名無しさん
2013/09/17(火) 04:00:32.61わざわざ(君の認識上では)汚物に粘着してる人に言われましても。
0657デフォルトの名無しさん
2013/09/17(火) 05:00:30.250658デフォルトの名無しさん
2013/09/17(火) 05:12:52.55人間なんて醜いもんだからあんなのは不可能なんだよな。
で、なんだっけ?
あぁそうそうネットな。最近始めたんだよインターネット。
うまく使えば便利だろうなってのは分かっけどよ
慣れるまでは酷いな、ほんとゴミだらけ。
おいらみたいにオツムが強かったりすると
ゴミの中のお宝なんかじゃなく汚物まで拾っちゃうんだよ。
それでぺろっと舐めちゃったりて(笑)
うーん苦い、この人の体調は良くなってるなってバカヤロー
考えもんだよなぁ
0659デフォルトの名無しさん
2013/09/17(火) 05:33:06.860660デフォルトの名無しさん
2013/09/17(火) 05:56:28.16粘着質で非合理的
結局hogeの意味も説明できない
なんかイコール使って意味はないとか言ってるし
説明できないもの使ってんのか
0661デフォルトの名無しさん
2013/09/17(火) 06:43:26.000662デフォルトの名無しさん
2013/09/17(火) 06:43:28.780663デフォルトの名無しさん
2013/09/17(火) 06:54:42.91ようゴキブリ
1年ぶりの書き込みがそれか
さすがゴキブリw
0664デフォルトの名無しさん
2013/09/17(火) 07:07:20.20Ahoは、実名でいるから、うちの会社ではソースコードなどに名前が登場する
北欧あたりの出身だと聞いた
ただし、読みはエイホ
0665デフォルトの名無しさん
2013/09/17(火) 07:43:31.84意味はないんだよ。
それが定義だからね。
意味付けしたら用途が狭まっちゃうでしょ?
0666デフォルトの名無しさん
2013/09/17(火) 07:55:35.010667デフォルトの名無しさん
2013/09/17(火) 08:30:44.72> 結局hogeの意味も説明できない
なんでも意味を求めるのは異常臭くね?
0668デフォルトの名無しさん
2013/09/17(火) 09:02:11.280669デフォルトの名無しさん
2013/09/17(火) 09:09:15.410670デフォルトの名無しさん
2013/09/17(火) 09:18:07.280671デフォルトの名無しさん
2013/09/17(火) 09:18:37.330672デフォルトの名無しさん
2013/09/17(火) 09:32:33.94定義?
どこに書いてあんの?
0673デフォルトの名無しさん
2013/09/17(火) 09:52:21.540674デフォルトの名無しさん
2013/09/17(火) 10:00:59.420675デフォルトの名無しさん
2013/09/17(火) 10:14:28.78お前が繁華街のど真ん中で野グソしないのは
何かが怖いからなんだな
0676デフォルトの名無しさん
2013/09/17(火) 10:20:14.620677デフォルトの名無しさん
2013/09/17(火) 10:30:39.65,一-、
/ ̄ l | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
■■-っ < んなーこたーない
´∀`/ \__________
__/|Y/\
Ё|__ | / |
| У |
0678デフォルトの名無しさん
2013/09/17(火) 11:04:09.540679デフォルトの名無しさん
2013/09/17(火) 19:04:34.97だったらimihanaiでいいだろ。
hoge分かるかよ知能障害。
0680デフォルトの名無しさん
2013/09/17(火) 19:29:24.87Fuga ← は?
0681デフォルトの名無しさん
2013/09/17(火) 19:51:24.48バカか?
0682デフォルトの名無しさん
2013/09/17(火) 20:00:52.940683デフォルトの名無しさん
2013/09/17(火) 20:12:00.90・fooは定着している
・グローバルなレベルで定着しているところに新たに訳の分からないものを持ち出す必要はない
・hogeでもいいじゃないか、そういうエンジニアの間に染み付いた意味不明な発想がガラパゴス化を引き起こしスマホ市場で遅れをとった
0684デフォルトの名無しさん
2013/09/17(火) 20:16:56.830685デフォルトの名無しさん
2013/09/17(火) 20:18:12.41日本語しか使われてない掲示板に住み着いておきながら何がグローバル化だ。
0686デフォルトの名無しさん
2013/09/17(火) 20:22:55.36C++でグローバルとな
設計を見なおせ
0687デフォルトの名無しさん
2013/09/17(火) 20:35:11.630688デフォルトの名無しさん
2013/09/17(火) 20:35:24.53ブーメラン
0689デフォルトの名無しさん
2013/09/17(火) 20:38:44.520690デフォルトの名無しさん
2013/09/17(火) 21:16:12.89さらに朝鮮系の住人がほとんどだからな
0691デフォルトの名無しさん
2013/09/17(火) 21:22:54.02意味が分からない
0692デフォルトの名無しさん
2013/09/17(火) 21:29:35.09意味無し( int Arg );
なんてどう?w
0693デフォルトの名無しさん
2013/09/17(火) 21:34:17.47もっと前から使えてたよ
0694デフォルトの名無しさん
2013/09/17(火) 21:36:12.38#define 長い整数 long
#define 短い整数 short
#define 主処理 main
#define 戻り値 return
0695デフォルトの名無しさん
2013/09/17(火) 21:47:47.99#define 浮動 float
#define 倍精度 double
#define 自動 auto
0696デフォルトの名無しさん
2013/09/17(火) 21:50:00.290697デフォルトの名無しさん
2013/09/17(火) 21:54:01.03#define さもなくば else
#define 文字 char
#define 定数 const
#define 続行 continue
#define 中断 break
#define クラス class
#define もし if
0699デフォルトの名無しさん
2013/09/17(火) 21:59:02.90#define 符号付き signed
#define 符号なし unsigned
#define 共用体 union
#define 型定義 typedef
0700デフォルトの名無しさん
2013/09/17(火) 22:01:11.890701デフォルトの名無しさん
2013/09/17(火) 22:07:51.97#define 列挙型 enum
#define 規定値 default
for,do,while,caseはどう訳すか
0702デフォルトの名無しさん
2013/09/17(火) 22:18:39.23#define 場合 case
#define 三項ループ for
#define 条件ループ while
#define ここから do
#define 移動 goto
#define サイズ sizeof
0703デフォルトの名無しさん
2013/09/17(火) 22:19:38.68#define 債務不履行 default
#define アレ false
#define がっ nullptr
#define 本 this
#define 官 public
#define 煙 short
0704デフォルトの名無しさん
2013/09/17(火) 22:25:21.010705デフォルトの名無しさん
2013/09/17(火) 22:31:23.32#define 複素数 complex
#define まじ true
#define 嘘 false
#define ヌルポ nullptr
#define これ this
#define 公開 public
#define 保護 protected
#define 私的 private
0706デフォルトの名無しさん
2013/09/17(火) 22:53:12.67#define 影武者 double
#define コテカ case
#define スマホ ios
#define 腰巻き array
0707デフォルトの名無しさん
2013/09/17(火) 22:53:12.73#define ヌル NULL
#define 書式出力 printf
#define ファイル FILE
#define フ開く fopen
#define フ閉じる fclose
#define フ読み込む fread
#define フ書き込む fwrite
0708デフォルトの名無しさん
2013/09/17(火) 23:06:28.02続きはブログでやれ
0709デフォルトの名無しさん
2013/09/17(火) 23:09:37.88#define げ Stroustrup
0710デフォルトの名無しさん
2013/09/17(火) 23:19:36.860711デフォルトの名無しさん
2013/09/18(水) 00:18:59.37#include <iostream>
using namespace std;
#define メイン int _tmain()
#define 出力 cout
#define 改行 endl
メイン { 出力 << "世界よ、こんにちは" << 改行; }
0712デフォルトの名無しさん
2013/09/18(水) 00:27:37.090713デフォルトの名無しさん
2013/09/18(水) 00:31:48.67そこまでやるなら、” も 「 と 」 を使えるように定義して
0714デフォルトの名無しさん
2013/09/18(水) 01:00:44.75うるさいゴミ
0715デフォルトの名無しさん
2013/09/18(水) 01:34:22.50てめえが氏ね
0716デフォルトの名無しさん
2013/09/18(水) 02:02:59.69そうすると、コンストラクタがこうなった
homu::homu();
ほむほむ!(゚∀゚)
0717デフォルトの名無しさん
2013/09/18(水) 03:27:09.370718デフォルトの名無しさん
2013/09/18(水) 07:07:50.70ンフ();
};
ンフ::ンフ() {}
0719デフォルトの名無しさん
2013/09/18(水) 07:48:53.680720デフォルトの名無しさん
2013/09/18(水) 07:50:41.800721デフォルトの名無しさん
2013/09/18(水) 19:11:29.820722デフォルトの名無しさん
2013/09/20(金) 16:33:21.40map["hoge"] = 0;
char keystr[] = "hoge";
map.find(keystr) != map.end();
std::stringを使わない方向でこれを真にしたかったら自分でハッシュテーブル作るしかないですか?
0723デフォルトの名無しさん
2013/09/20(金) 16:40:54.10struct strCompare {
bool operator() (const char* str1, const char* str2) const {
return strcmp(str1, str2) == 0;
}
};
std::map<char*, int, strCompare> map;
0724デフォルトの名無しさん
2013/09/20(金) 16:50:03.26じゃね
0725デフォルトの名無しさん
2013/09/20(金) 16:51:33.040726デフォルトの名無しさん
2013/09/20(金) 16:58:32.79std::lessがデフォなんだから
それに合わせるのが普通じゃね?
0727デフォルトの名無しさん
2013/09/20(金) 17:02:56.470728デフォルトの名無しさん
2013/09/20(金) 19:14:25.95ありがとうございます
こんな方法が用意されていたんですね
0729デフォルトの名無しさん
2013/09/20(金) 19:42:55.000730デフォルトの名無しさん
2013/09/20(金) 19:43:57.01==での比較だと要素の順序付けができなくてまともに動かんぞ
0731デフォルトの名無しさん
2013/09/20(金) 21:18:38.7117時より前に書き込んでるってことはニート確定だな
hoge厨はやっぱり仕事すら見つからないのか
0732デフォルトの名無しさん
2013/09/20(金) 21:25:11.70お前>>722に答えられない癖に悪口だけは達者だな
何のためにム板にいるの?
0733デフォルトの名無しさん
2013/09/20(金) 22:38:15.270734デフォルトの名無しさん
2013/09/20(金) 22:40:36.010735デフォルトの名無しさん
2013/09/20(金) 22:45:19.880736デフォルトの名無しさん
2013/09/20(金) 22:50:14.760737デフォルトの名無しさん
2013/09/20(金) 22:57:38.440738デフォルトの名無しさん
2013/09/20(金) 22:59:30.05そんなこともわからないアホには使えない奴だよ
0739デフォルトの名無しさん
2013/09/20(金) 23:11:49.90なんでこんなアホがC++使ってるの
0740デフォルトの名無しさん
2013/09/20(金) 23:18:20.750741デフォルトの名無しさん
2013/09/20(金) 23:34:12.15>>722みたいな無職ばっかだよ
0742デフォルトの名無しさん
2013/09/20(金) 23:36:21.130743デフォルトの名無しさん
2013/09/20(金) 23:37:27.17アホだからC++なんだろ
0744デフォルトの名無しさん
2013/09/20(金) 23:53:21.81その通りだな。C++もあほ様用ゆとり言語の仲間ってことだ
0745デフォルトの名無しさん
2013/09/21(土) 00:00:20.22735 の時点では、相当に不利な立場での弁護も考えたが
737 で修復不可能にぶっ壊れた
ム板で救急医療現場を目撃するとは・・・
0746デフォルトの名無しさん
2013/09/21(土) 00:09:26.29悪かったよ
0747デフォルトの名無しさん
2013/09/21(土) 00:13:07.54馬鹿だと735と737が同じ奴のかきこになるんだよ
よかったなアホで
0748デフォルトの名無しさん
2013/09/21(土) 00:15:52.86そこかしこでひたすら煽ってるニート
0749デフォルトの名無しさん
2013/09/21(土) 02:33:21.080750デフォルトの名無しさん
2013/09/21(土) 02:49:58.280751デフォルトの名無しさん
2013/09/21(土) 02:51:39.33俺は本当は2ちゃんねらーなんかじゃないんだ
だからマ板で雑談なんかしない人なんだ
だから…だから…
0752デフォルトの名無しさん
2013/09/21(土) 04:19:11.040753デフォルトの名無しさん
2013/09/21(土) 07:47:27.570754デフォルトの名無しさん
2013/09/21(土) 08:31:33.48ピカチュウの親戚?
0755デフォルトの名無しさん
2013/09/21(土) 09:16:05.74ピカチュウ「ピカー!」
ニート「ホゲチュウ!Hoge荒らしだ!」
ホゲチュウ「ほげえええええ!」
0756デフォルトの名無しさん
2013/09/21(土) 09:23:15.330757デフォルトの名無しさん
2013/09/21(土) 09:27:32.470758デフォルトの名無しさん
2013/09/21(土) 09:30:16.030759デフォルトの名無しさん
2013/09/21(土) 09:33:35.68ちょwwwwwwwそれwwwwwwwwwwwwwwwww
0760デフォルトの名無しさん
2013/09/21(土) 09:40:03.360761デフォルトの名無しさん
2013/09/21(土) 09:43:21.950762デフォルトの名無しさん
2013/09/21(土) 09:46:40.960763デフォルトの名無しさん
2013/09/21(土) 09:57:06.260764デフォルトの名無しさん
2013/09/21(土) 10:04:13.490765デフォルトの名無しさん
2013/09/21(土) 10:06:31.900766デフォルトの名無しさん
2013/09/21(土) 10:09:05.54やめてくれw腹いたいwwwwwwwwwww
0767デフォルトの名無しさん
2013/09/21(土) 10:20:35.61他人が書くhogeに怒るくせに
いざ怒るとホゲーーって叫ぶんだよな
0768デフォルトの名無しさん
2013/09/21(土) 10:46:04.01下のテンプレート関数の挙動がわからない。
ここから-----------------------
配列の要素数を返すテンプレート。
template<class T,size_t N>
size_t count(T (&array)[N])
{
return N;
}
使用例:
int array[10];
cout << count(array) << endl;
ここまで------------------------
■今わかっていること
・size_tはtypedefされたunsigned intのこと
・要素数の戻り値はsize_t型
・たぶん(&array)[N]のarrayに配列アドレスが参照渡しされてる。
■わからないこと
・<class T,size_t N>のTって使われてない?のに関数が成功してるのはなぜか?
・size_t NのNは引数として渡してないのになぜ要素数が入っているのか?
・int array[10];のarrayは配列の先頭アドレスとすると、
(&array)[N]に引数として参照渡しされたときイメージとして
(&配列アドレス)[N]となると、配列アドレスのアドレス??ってなんだろう?
という感じでよく分からない。
・count(T (&array)[N])のTってなんの役に立つの?何するものなんでしょうか?
・このテンプレート関数の一連の流れが知りたい
0769デフォルトの名無しさん
2013/09/21(土) 11:13:39.08おまえは簡単なテンプレート関数を先に理解しろ
質問がピンからキリまで全部過ぎる
0770デフォルトの名無しさん
2013/09/21(土) 11:21:17.91arrayがどう宣言されているのか考えろ。
0771デフォルトの名無しさん
2013/09/21(土) 12:03:08.86Tについては、arrayにint配列が入れば下みたいに展開出来るってだけのことだろう
template <size_t N> size_t count(int (&array)[N]) { return N; }
Nは何だろう、こういう書き方できるってくらいしかないかね
0772デフォルトの名無しさん
2013/09/21(土) 12:10:52.14そうすると
count(int (&配列のアドレス)[N])
となって
int型の配列のアドレスのアドレスのN番目の要素???
Nって書くと要素数がそのまま入ってくる特殊な文字定数なの??
みたいな頭ぐーるぐるです
0773デフォルトの名無しさん
2013/09/21(土) 12:18:41.650774デフォルトの名無しさん
2013/09/21(土) 12:19:43.70テンプレートは基本の延長でしかないものだから基本とは別のなにか特別のものとして理解しようとすると間違える
>>768のソースは↓と(だいたい)同じものでしかない
size_t count(int (&array)[10])
{
return 10;
}
使用例:
int array[10];
cout << count(array) << endl;
これがどう動くか理解できないなら単純に知識不足
0775デフォルトの名無しさん
2013/09/21(土) 12:22:40.64↓こういうの
int a[] = {1, 2, 3};
int (&b)[] = a;
std::cout << b[0] << ' ' << b[1] << ' ' << b[2] << std::endl;
0776デフォルトの名無しさん
2013/09/21(土) 12:24:23.66先頭部分をみたとき、脳内で、
「仮にclassなTがあり、size_t なNがあるとき」と読んでいる気がする
0777デフォルトの名無しさん
2013/09/21(土) 12:26:20.29C++ 配列の参照を返す 関数 > google
C++ template count array > google
0778デフォルトの名無しさん
2013/09/21(土) 12:27:02.970779デフォルトの名無しさん
2013/09/21(土) 12:34:46.34>>775
エラー 1 error C2440: '初期化中' : 'int [3]' から 'int (&)[]' に変換できません。 c:\users\primemr7\desktop\c++\gamelib2008\src\01_firstgame\test2\source.cpp 14 1 test2
とコンパイルがなぜか通りません
コンパイル通らなくてごめんなさい
(&b)[] という表記を始めてみました。
ちょっと調べてみます
>>776
classはtypenameと同じような意味だからTは型名になるんだなって
size_t型のNがたぶん要素数がはいってくるんだろうなあ、、、たぶん
ってかんじです。
>>768
キーワードがまさに知識のカギに・・・
ありがとう。
>>778
配列アドレスだけを送ってるのに要素数までいっちゃうんですね。
初耳でした。
0780デフォルトの名無しさん
2013/09/21(土) 12:45:03.07悪い
配列の次元を指定しないと駄目なんだった
int a[3] = {1, 2, 3};
int (&b)[3] = a;
std::cout << b[0] << ' ' << b[1] << ' ' << b[2] << std::endl;
0781デフォルトの名無しさん
2013/09/21(土) 13:00:58.19cout<<(&b)<<endl;
cout<<(b)<<endl;
をすると同じアドレス値がでました。
これは&をつけてもつけなくてもいいってことかなと思いきや
int (&b)[3] = a;の時は&を消すとエラーになる。
代入の時だけは&をつけるC++の仕様だから暗記しろってことでしょうか???
参照ってわけないし・・・
0782デフォルトの名無しさん
2013/09/21(土) 13:07:39.58>size_tはtypedefされたunsigned intのこと
って正しいの?
>>779
アドレスには純粋なアドレス情報以外のものも関連付けされている
ってC言語で習ったででょ
0783デフォルトの名無しさん
2013/09/21(土) 13:12:06.68参照だよ
Cだってint b[3]=aなんて出来ないでしょ
0784デフォルトの名無しさん
2013/09/21(土) 13:20:57.58JAVAを少しかじった程度です。
なんとなくわかりました。
template<class T,size_t N>
size_t count(T (&array)[N])
{
return N;
}
-------------
・Tはintなどの引数に沿った型名に置換される
・配列の要素数は内部的にsize_t型に定義されてるので
size_t Nと書けば変数Nにsize_t型の要素数がそのまま代入される。
・(&array)は配列の参照なので配列の先頭アドレスが参照としてそのまま
代入される。
・要素数を返すのだから戻り値はsize_tになる。
・size_tは内部的にunsigned intの別名だからint型の変数で受け取れる。
0785デフォルトの名無しさん
2013/09/21(土) 13:22:14.00> >size_tはtypedefされたunsigned intのこと
> って正しいの?
規格上は符号なし整数型のどれかであって常にunsigned intであるという保証は無い
0786デフォルトの名無しさん
2013/09/21(土) 13:25:25.90これで初期化、配列コピーでができないってへんな気がするんですけど
0787デフォルトの名無しさん
2013/09/21(土) 13:35:06.69newもしないでそんなことできる言語があるのかと
0788デフォルトの名無しさん
2013/09/21(土) 13:36:15.91アドレスと型で変数。
普通は型を合わせておいて使う所、テンプレートだと型を自由に出来る。
普通のテンプレートだと型も値も両方使うけど、この場合は型しか使ってない。
0789デフォルトの名無しさん
2013/09/21(土) 13:43:18.940790デフォルトの名無しさん
2013/09/21(土) 13:57:02.390791デフォルトの名無しさん
2013/09/21(土) 14:01:16.66---------------------
int a[3] = {1, 2, 3};
int (&b)[3] = a;
---------------------
配列の参照の書き方が
int (&b)[3] = a;
これが正解ってのはわかったんですが
int型の参照は「int&」で配列だから・・・イメージだと
int& b[3] = a;
のが自然な記述方法なんじゃって思うんですけどって
チラ裏だったかな・・・
0792デフォルトの名無しさん
2013/09/21(土) 14:04:02.880793デフォルトの名無しさん
2013/09/21(土) 14:17:25.59>>791
int& b[3]じゃint&の配列になっちゃうから、まあそういうもんだと覚えるしか
関数ポインタなんかも変な書き方だね
0794デフォルトの名無しさん
2013/09/21(土) 14:32:25.11Cの配列をC++の機能の参照で使うと相性(?)悪くて何これになるよな
0795デフォルトの名無しさん
2013/09/21(土) 14:39:49.86ちょっと何言ってるかわからない
0796デフォルトの名無しさん
2013/09/21(土) 14:45:58.980797デフォルトの名無しさん
2013/09/21(土) 14:53:48.96C++11の事を言ってるんじゃねーの
boost::arrayが取り込まれたやつ
クラスだから=でコピーが出来たり、ラムダ式にも使える
しかしtemplateだから動的な確保は出来ないのが残念
効率を重視したんかな
0798デフォルトの名無しさん
2013/09/21(土) 14:59:39.220799デフォルトの名無しさん
2013/09/21(土) 15:00:31.380800デフォルトの名無しさん
2013/09/21(土) 15:10:31.81バカはレスしなくていいよ。俺は無能が嫌いなんだ。
0801デフォルトの名無しさん
2013/09/21(土) 15:13:13.16馬鹿・無能丸出し。自己紹介だね
0803デフォルトの名無しさん
2013/09/21(土) 15:17:00.950804デフォルトの名無しさん
2013/09/21(土) 15:18:52.610805795
2013/09/21(土) 15:21:54.28C++にstd::arrayが有るのは知っているが
それがどうして「配列はもうstd::array」
になるのかが不明だ。
ちなみに動的についてはC++第4版でdynarrayが
追加される予定の筈。
0806デフォルトの名無しさん
2013/09/21(土) 15:25:41.410807デフォルトの名無しさん
2013/09/21(土) 15:25:45.720808デフォルトの名無しさん
2013/09/21(土) 15:28:57.35std::begin()とstd::end()とoperator=とempty()などのメンバ関数が使えて
他のコンテナとの一貫性を保てるって点が大きいんじゃね
0809795
2013/09/21(土) 15:37:49.72ISO/IEC 14882:2014の表紙に
書かれるであろう版数なのだが。
2011には「Third edition」と書いてある。
0810デフォルトの名無しさん
2013/09/21(土) 15:39:20.09実はC/C++は生が良いよいんだよ
生配列、生ポ、文字列char* サイコー!
0811795
2013/09/21(土) 15:43:19.66std::arrayにメリットが有るのは知っているが
それがどうして「配列はもうstd::array」
になるのかが不明だ。
論理的思考のできない人?
0812デフォルトの名無しさん
2013/09/21(土) 15:47:00.390814デフォルトの名無しさん
2013/09/21(土) 15:47:26.21と言いたいんだろうと思う。
0815デフォルトの名無しさん
2013/09/21(土) 15:48:55.41場面は多いんだけどね。
0816810
2013/09/21(土) 15:52:26.21これはどうなんだ
0817デフォルトの名無しさん
2013/09/21(土) 16:01:01.01さすがにないわ
0818デフォルトの名無しさん
2013/09/21(土) 16:16:22.71いや、俺は「配列はもうstd::array」と書いた奴じゃないけど、
生配列も今まで通り使えばいいと思うし
それにstd::arrayのサンプル見てみれば分かると思うけど、美しくない
C++11の二重ブラケットに慣れてしまえばいいんだろうと思うけど
std::initializer_listもあるし
0819デフォルトの名無しさん
2013/09/21(土) 16:21:23.56こういうのがあるからなあ
sizeof()がおかしい
0820デフォルトの名無しさん
2013/09/21(土) 16:30:53.650821デフォルトの名無しさん
2013/09/21(土) 16:31:40.930822デフォルトの名無しさん
2013/09/21(土) 16:31:53.770823デフォルトの名無しさん
2013/09/21(土) 17:50:31.010824デフォルトの名無しさん
2013/09/21(土) 18:28:42.26int arr2[] = {1, 2, 3};
std::arrayで簡単に要素数省略できたりしないの?
0825デフォルトの名無しさん
2013/09/21(土) 18:50:50.74現状無理
コンストラクタの引数からテンプレートパラメータを導出できるようにしようぜという提案が出てはいるんだけど
注目されてなさそうだから望み薄かな
0826デフォルトの名無しさん
2013/09/21(土) 20:15:17.37auto arr1 = make_array(1, 2, 3);
で済ませってことになるのはありそうだけどな
0827無駄を省いてみた。
2013/09/21(土) 20:39:04.070828デフォルトの名無しさん
2013/09/22(日) 03:25:09.21こんな事できるの?
0829デフォルトの名無しさん
2013/09/22(日) 03:30:10.010830デフォルトの名無しさん
2013/09/22(日) 04:11:11.09autoで得体の知れない詳しく言及したく無いモノを気軽に受け取れるようになり
右辺値参照でなんだかデッカイモノの受け渡し効率が上がる可能性を期待出来る様になったからね
0831デフォルトの名無しさん
2013/09/22(日) 04:15:40.52じゃあmake_arrayの実装教えてよ
0832デフォルトの名無しさん
2013/09/22(日) 09:25:59.49不完全すぎて使い物にならない
0833デフォルトの名無しさん
2013/09/22(日) 12:15:13.04ググれば素直な関数テンプレート版からプリプロセッサ版・TMP版とかわんさとでてくる
ttps://www.google.co.jp/search?q=c%2B%2B+make_array
0834デフォルトの名無しさん
2013/09/22(日) 12:52:13.39ありがとう。可変長テンプレート引数か。
C++の魔力がまた一つ大きく増幅したな・・。
0835デフォルトの名無しさん
2013/09/22(日) 14:43:05.94コードがだんだんとキチガイじみてきてるwww
でも今まで出来なかった事が出来るようになるのはいい事だな
0836デフォルトの名無しさん
2013/09/22(日) 16:05:07.97基地コード、C++使いは基地多いからぴったりだろ
基地が多いから、基地コードなっていくんだけどな
0837デフォルトの名無しさん
2013/09/22(日) 17:21:09.93T foo(Ts... args)
で、解釈として
<class... Ts> のとらえ方は (class...) Ts なのか class (...Ts)
(Ts... args) のとらえ方は (Ts...) args なのか Ts (...args)
どうなん?
0838デフォルトの名無しさん
2013/09/22(日) 19:30:17.39気付かずにunordered_mapと同じように書いてた
危ないところだった
0839デフォルトの名無しさん
2013/09/22(日) 19:59:29.62auto_ptrの概念をクラスやコンテナ全体に広げたような感じ
0840デフォルトの名無しさん
2013/09/22(日) 21:48:56.01なんだか良く分からなくなってくるのに、怖ろしいことに、
望みどおりに動くものが出来てしまうことだと思う
知らんうちに魔法使ってる
あと、C++にありがちなコトだけど、言語自体が面白くて
現実世界のことはどうでも良くなること
意味のあるもの以外は、一切書いてはいけないという
決まりなどないのです
0841デフォルトの名無しさん
2013/09/22(日) 22:26:21.01否定しない
まず、その方向で行けるところまで行ってみてくれ
否定した俺たちの過ちがはっきりするし
0842デフォルトの名無しさん
2013/09/23(月) 04:26:20.30そこに、なんとでも、と加わるのか
それにしても、マイペースでやってるアマの俺などはいいが、
プロはどうやって勉強してんのこれ
0843デフォルトの名無しさん
2013/09/23(月) 04:58:36.62使う機能制限すればなんとでもなるんじゃね?
0844デフォルトの名無しさん
2013/09/23(月) 05:08:52.69使わざるを得ない場面で否応なく学ばされる。
0845デフォルトの名無しさん
2013/09/23(月) 13:19:52.070846デフォルトの名無しさん
2013/09/24(火) 01:11:42.480847デフォルトの名無しさん
2013/09/24(火) 04:57:23.05http://uni.2ch.net/test/read.cgi/newsplus/1379920551/
0848デフォルトの名無しさん
2013/09/24(火) 07:13:50.06string *str = string::stringWithFormat("My name is %s, age is %d", name, age);
みたいな感じでフォーマットを指定して文字列を作成するにはどうしたら良いでしょう?
調べたらストリーム作って流し込んでstringに変換しろみたいに出てきてそんなバカなと思うのですが
0849デフォルトの名無しさん
2013/09/24(火) 07:28:10.33stringはvectorがベースなのでフォーマットなぞなくて当然
0850デフォルトの名無しさん
2013/09/24(火) 07:28:31.70バカなと思うでしょうが、その通りなんです。
0851デフォルトの名無しさん
2013/09/24(火) 07:34:47.590852デフォルトの名無しさん
2013/09/24(火) 07:44:42.840853デフォルトの名無しさん
2013/09/24(火) 08:24:42.050854デフォルトの名無しさん
2013/09/24(火) 09:11:40.990855デフォルトの名無しさん
2013/09/24(火) 11:43:11.53std::ostringstreamを使って
std::ostringstream ostr;
char name[] = "abc";
int age = 20;
ostr << "My name is " << name << ", age is " << age << std::endl;
std::cout << ostr.str();
確かにC#のString.Formatのような物があれば便利だがないし、boostは
lexical_castやformatの内部にstringstreamを使っている例が多くある
C++はストリームとstringを明確に分離したのだと思う
他の言語は結構統合されていて、例えばC++BuilderではUnicodeString().sprintf()なんて
書き方が出来る場合があるが、残念ながら標準C++ではboostなどのライブラリを借りるしかない
0856デフォルトの名無しさん
2013/09/24(火) 13:06:08.06なんかfreadはどんな型にでも代入できたけどreadは文字しか駄目なように
改悪されてますよね?
それなので>>を使うしかないですよね?
0857デフォルトの名無しさん
2013/09/24(火) 13:28:32.30C言語はvoid*を任意の型へのポインタにキャスト無しで変換出来たが、C++は
キャスト必須となったので別にvoid*でなくても良いって理由だけじゃないのか
0858デフォルトの名無しさん
2013/09/24(火) 14:06:33.30std::int8_t a[4];
fin.read(static_cast<char*>(a));
みたいにやるとcharがsigned charにキャストできないみたいなことが出ます。
0859デフォルトの名無しさん
2013/09/24(火) 14:18:17.13while( a++ < 10) {
うんたら
}
これ、何回まわりますか?
a++ < 10 の評価は、++ が先? それとも後?
0860デフォルトの名無しさん
2013/09/24(火) 14:26:26.92シーケンスポイントでぐぐりなさい
0861デフォルトの名無しさん
2013/09/24(火) 14:32:38.76a++ 後
だから10回
0862デフォルトの名無しさん
2013/09/24(火) 14:41:30.96だから配列の値をバラバラに使うのと配列をソートしてから
使うのは配列の長さがいくつ位からソートした方が早くなりますか?
0863デフォルトの名無しさん
2013/09/24(火) 14:45:01.150864デフォルトの名無しさん
2013/09/24(火) 14:50:51.80>static_cast<char*>(a));
>みたいにやるとcharがsigned charにキャストできない
そりゃそこはreinterpret_cast使うとこだからエラーになって当然
0865デフォルトの名無しさん
2013/09/24(火) 15:13:43.17std::uint8_t a[4];
じゃね?
0866デフォルトの名無しさん
2013/09/24(火) 15:20:14.77streamに流し込んでstringに変換するのが正攻法のようですね。
Boostは取り敢えず置いておいてstream使ってやってみます。
0867デフォルトの名無しさん
2013/09/24(火) 15:37:54.15それはまだやってませんでした。
>>865
それはやっても駄目でした。
0868デフォルトの名無しさん
2013/09/24(火) 15:46:57.430869デフォルトの名無しさん
2013/09/24(火) 15:54:54.820870デフォルトの名無しさん
2013/09/24(火) 16:10:55.07ここは C++ スレ
int a = 0;
ではなく
template <class Int> //...
Int a = 0;
くらいで来い
0871デフォルトの名無しさん
2013/09/24(火) 19:49:24.05JavaやC#やScalaやそのほかのすばらしい言語を使わないんですか
0872デフォルトの名無しさん
2013/09/24(火) 20:02:52.120873デフォルトの名無しさん
2013/09/24(火) 20:17:28.680874デフォルトの名無しさん
2013/09/24(火) 20:26:54.73実数演算させるだけなら大差ないけど
整数演算させるとJavaやC#はとろい
0875デフォルトの名無しさん
2013/09/24(火) 20:31:58.45Dもいいでしょ?
0876デフォルトの名無しさん
2013/09/24(火) 20:50:18.56ほぅ、ではその整数演算がとろい
サンプルをうぷして貰えないかね
0877デフォルトの名無しさん
2013/09/25(水) 01:25:33.91本屋で売ってる参考書など見て言語を学ぶ人が多いと思う。
じゃあ、その言語の参考書の著者は何を参考に言語を学んだのだろうか?
0878デフォルトの名無しさん
2013/09/25(水) 01:46:13.62学ぶこと自体なら既存の書籍や外国語の書籍も使うだろうが、
普通ならコンパイラのマニュアルと言語の仕様書と場合によって論文。
だが、HTMLの腐った本で分かるようにマニュアルも仕様書も読まないで解説書籍書くバカも存在するだろう。
0879デフォルトの名無しさん
2013/09/25(水) 03:23:13.20ダック・タイピングみたいなことができるなんて
0880デフォルトの名無しさん
2013/09/25(水) 08:05:54.88素晴らしいかしらんが、俺には過ぎた代物だからなw
C/C++をほぼマスターしてからで遅くはないだろ
アマの俺の答えだ。
そのひとつ前は、C++なんざ俺には過ぎた代物。と思ってたんだが、
C++はCを補完できるからね。これはアリってことにしたよ
0881デフォルトの名無しさん
2013/09/25(水) 08:33:19.710882デフォルトの名無しさん
2013/09/25(水) 08:33:42.96言語を使うのが仕事じゃないから
仕事だと言語に関与している時間より、ドキュメントとかテストしてる時間の方が長いし
0883デフォルトの名無しさん
2013/09/25(水) 08:45:50.83C#も使ってるよ。
というか、最近はWindowsアプリはC#がほとんど。
確かにC#のような言語とかライブラリとか経験するのもいいと思う。
俺も、C#をやったら、それまでC言語ライクでしか書けなかったのがC++でも
本当にオブジェクト指向で書けるようになったし。
0884デフォルトの名無しさん
2013/09/25(水) 10:15:10.68vcではできるのにgccでは出来ません。どちらが正しいですか
0885デフォルトの名無しさん
2013/09/25(水) 10:19:11.660886デフォルトの名無しさん
2013/09/25(水) 10:26:32.09「正しい」とは?
0887デフォルトの名無しさん
2013/09/25(水) 10:41:24.31C++の仕様としてこの構文はリーガルなのか否かっていう要するに>>885な疑問じゃねぇの?
0888デフォルトの名無しさん
2013/09/25(水) 12:41:08.460889デフォルトの名無しさん
2013/09/25(水) 12:43:49.22hoge使うようなヴァカにはきくだけ無駄
0890デフォルトの名無しさん
2013/09/25(水) 12:46:58.43初期値入ってるポインタ代入すればいいのでは?
0891デフォルトの名無しさん
2013/09/25(水) 12:53:12.43hogeと打つ暇はあっても自分で調べる暇はないの?
さぞお忙しい生活なんでしょうねw
0892デフォルトの名無しさん
2013/09/25(水) 12:57:04.680893デフォルトの名無しさん
2013/09/25(水) 13:03:31.92標準C++の規格ではconstオブジェクトを初期化子なしで構築できるのはユーザ定義のデフォルトコンストラクタを持つクラスだけ
よってこの場合規格準拠なのはgcc
0894デフォルトの名無しさん
2013/09/25(水) 13:04:33.350895デフォルトの名無しさん
2013/09/25(水) 13:14:44.21だったら規格のどこに書いてあるか示せよ
0896KUSO KOTE
2013/09/25(水) 13:24:22.83new-initializerがない場合はdefault-initializeされる(5.3.4p15)
constのdefault-initializeはデフォルトコンストラクターを持つクラス型のみ(8.5p6)
0897デフォルトの名無しさん
2013/09/25(水) 13:31:14.22わかる人・できる人っていうのは新しい知識を得たとき
直接の根拠が無くてもそれまでの知識や直感でそれが正しいか間違ってるかってのはなんとなくわかるものだ
(なにかおかしいと感じてる>>888みたいに)
そのうえで根拠を探すけどそれは確認のためでそういう人は他人から与えられなくても自分で探すから必要ない
一方>>895みたいなわからない人・できない人に知識だけ与えても正しく理解できずに害をもたらすだけだからむしろ与えてはいけなかった
0898デフォルトの名無しさん
2013/09/25(水) 13:45:26.57> わかる人・できる人っていうのは新しい知識を得たとき
> 直接の根拠が無くてもそれまでの知識や直感でそれが正しいか間違ってるかってのはなんとなくわかるものだ
規格的にvalidか
という議論の最中にこういうこと言い出す奴は
プログラマから嫌われるタイプ
0899デフォルトの名無しさん
2013/09/25(水) 13:55:58.79底辺は二味以上違うな
0900デフォルトの名無しさん
2013/09/25(水) 14:21:35.970901デフォルトの名無しさん
2013/09/25(水) 14:29:05.27学習する気のない馬鹿は来なくていいよ。
hogeは知ってても必要な知識はないゴミクズ。
0902デフォルトの名無しさん
2013/09/25(水) 14:33:02.10これは、規格に合っているかという質問への回答はイエスかノーで十分で
貰った情報が確からしければ各々でその蓋然性を高めるために規格書を読めという至極もっともな指摘だろ?
つか>>895の態度では人を利用することしか頭にないと受け取られても自然だろ
それとも今後規格の話が出るたびに[要出典]タグを付けるつもりかよやめてくれよ
0903デフォルトの名無しさん
2013/09/25(水) 14:53:41.510904デフォルトの名無しさん
2013/09/25(水) 14:59:44.50で、各々が規格書上はどうなのかを確認したところ
「規格書上にそのような記載はない」と判断した者と
「規格書上にそのような記載はある」と判断した者とで
意見が割れて、
「ない」の側が「ある」の側に場所を示せと言ったわけだ。
そこに馬鹿が現れて「できるやつは直感でわかる」「規格書は自分で読めばいいんだ」
などと意味不明な供述を繰り返しており、当局は余罪を追求する方針です
0905デフォルトの名無しさん
2013/09/25(水) 15:02:43.82そんなやり取りないよ
0906デフォルトの名無しさん
2013/09/25(水) 15:22:03.700907デフォルトの名無しさん
2013/09/25(水) 15:25:12.210908デフォルトの名無しさん
2013/09/25(水) 15:28:04.16教えてほしかったら教授料払え。タダで教えてもらえると思うな。
0909デフォルトの名無しさん
2013/09/25(水) 15:29:51.310910デフォルトの名無しさん
2013/09/25(水) 15:31:57.00よく読めよ
書いてるだろうが
0911デフォルトの名無しさん
2013/09/25(水) 15:41:48.33勝ったものが支配者。必死に戦え
支配者になるためには、C/C++スレの局地戦からほかの言語スレにも戦いを広げたほうが良いぞ
0912デフォルトの名無しさん
2013/09/25(水) 16:20:24.08hoge厨が基地害ってだけの話なのに戦いもクソもないだろ
0913デフォルトの名無しさん
2013/09/25(水) 16:22:13.16無視すればいいだけ
0914デフォルトの名無しさん
2013/09/25(水) 16:42:58.69hoge厨ってホント妄想でしか喋れないんだな。
0915デフォルトの名無しさん
2013/09/25(水) 16:54:36.890916デフォルトの名無しさん
2013/09/25(水) 17:09:51.530917デフォルトの名無しさん
2013/09/25(水) 19:27:37.390918デフォルトの名無しさん
2013/09/25(水) 19:30:41.940919デフォルトの名無しさん
2013/09/25(水) 19:47:07.080920デフォルトの名無しさん
2013/09/25(水) 21:39:00.330921デフォルトの名無しさん
2013/09/25(水) 23:45:40.71これ2003ではどうなの?
2011年規格ではdefault-initializeがconst時にデフォコンを要求するけど
2003年規格ではその記述がないんだよね
代わりに8.5の9段落目に関連記述があるけど
これは内容的にinitializerのことで
new-initializerには適用されない気がする
0922デフォルトの名無しさん
2013/09/25(水) 23:54:11.52多くの困憊ラベンダがぶちぶち言ってたし
0923デフォルトの名無しさん
2013/09/26(木) 00:05:05.00もともと__cplusplusが199711Lのコンパイラだからなw
0924デフォルトの名無しさん
2013/09/26(木) 01:51:17.87newの仕様5.3.4 new p15のほうで明記されてる
0925デフォルトの名無しさん
2013/09/26(木) 08:33:54.84もともとって一体いつからの話してんのお前
0926デフォルトの名無しさん
2013/09/26(木) 12:03:06.13今だよ
やってみればわかる
あ、いつ「から」だっけ?
VC6 では 1 だね
0927デフォルトの名無しさん
2013/09/26(木) 12:43:33.540928デフォルトの名無しさん
2013/09/26(木) 12:45:50.590929デフォルトの名無しさん
2013/09/26(木) 13:16:41.020930デフォルトの名無しさん
2013/09/26(木) 16:49:06.53インスタンス(変数)名を1文字にするのってどう思う?
具体的には、TData_Globalというクラスのインスタンス名を G にする。
このクラスは別クラスの包含で階層が深くなっていて、Data::G->xxx.yyy.getData()とかいう
使い方をするから、短い変数名にしたいのだけれど。。
よくないとは思いつつ、他の解決法が分からない。
当方C言語経験1年、C++を始めて1ヶ月のど素人です。
0931デフォルトの名無しさん
2013/09/26(木) 16:53:29.32だけど名前空間にいれるなりしろよ
0932デフォルトの名無しさん
2013/09/26(木) 16:54:03.060933デフォルトの名無しさん
2013/09/26(木) 17:15:35.50class Hoge {
protected:
TData_Global *G;
public:
Hoge(void) : G(TData_Global::getInstance()) {}
}
/* hoge */
0934デフォルトの名無しさん
2013/09/26(木) 17:21:49.37もともと + 〜だから でなくて
「もともと〜なコンパイラ」+だから だろ
そのぐらいの日本語理解しろ
0935デフォルトの名無しさん
2013/09/26(木) 17:24:57.910936デフォルトの名無しさん
2013/09/26(木) 17:38:06.34hoge使いはレベルが高いな
0937デフォルトの名無しさん
2013/09/26(木) 17:39:59.20かっけー
0938デフォルトの名無しさん
2013/09/26(木) 17:46:48.07template<typename T> class Hoge {
protected:
T &G;
public:
Hoge() : G(*T::getInstance()) {}
}
/* hoge */
0939デフォルトの名無しさん
2013/09/26(木) 18:08:14.06template<typename T> class Hage final {
protected:
T &G;
public:
Hage(T &unko) : G(unko == nullptr ? throw "タヒネ" : unko) {}
}
/* hage */
0940デフォルトの名無しさん
2013/09/26(木) 18:12:19.18シングルトンといったデザインパターンは初めて聞きましたが、
実現方法はぐぐってみて少し掴めてきました。ありがとうございます。
以下のような感じですかね。
class TData_Global {
public:
static TData_Global* GetInstance() {
static TData_Global instance;
return &instance;
}
TData_AppSetting appSetting;
private:
TData_Global(){}
TData_Global(const Singleton& rhs);
TData_Global& operator=(const Singleton& rhs);
};
しかし、シングルトンを使ったメリットがよく分かりません。
コンストラクター等を使えなくすることで、
TData_Globalのインスタンスが好き放題生成されずに済む他に
どのようなメリットがあるのでしょうか?
結局アクセスは、TData_Global::GetInstance().appSetting.getData() のような
冗長な形になってしまうのですよね?
それか、TData_Globalを継承して、GetInstance().appSetting.getData()と
するのがベストなのでしょうか?
理解力が無い上、長文で申し訳ございません。。
0941デフォルトの名無しさん
2013/09/26(木) 18:58:03.58素直に長い名前にしといて使うところの前で短い名前の参照で拘束すればいいだろ
0942デフォルトの名無しさん
2013/09/26(木) 18:58:09.57GetInstance().appSetting.getData() をインターフェースに用意すればいいんじゃないのか
0943デフォルトの名無しさん
2013/09/26(木) 19:01:30.84そんなことのために継承すなw
0944デフォルトの名無しさん
2013/09/26(木) 19:24:50.11TDataGlobal* G = TData_Global::GetInstance().って各クラスにGを持てばいいじゃない
0945デフォルトの名無しさん
2013/09/26(木) 19:55:43.37シングルトンにして>>933でいいんじゃね
class UseG {
protected:
TData_Global* G;
UseG() : G(TData_Global::GetInstance()) { }
};
class Foo : UseG {
void Bar()
{
G-.>appSetting.GetData();
;
}
};
0946デフォルトの名無しさん
2013/09/26(木) 20:45:16.57グローバル変数で十分だから
0947デフォルトの名無しさん
2013/09/26(木) 20:50:26.980948デフォルトの名無しさん
2013/09/26(木) 20:59:21.81褒められたもんじゃないけど
0949デフォルトの名無しさん
2013/09/26(木) 21:03:19.590950デフォルトの名無しさん
2013/09/26(木) 21:04:26.780951デフォルトの名無しさん
2013/09/26(木) 21:06:07.250952デフォルトの名無しさん
2013/09/26(木) 21:10:06.310953デフォルトの名無しさん
2013/09/26(木) 21:10:36.990954デフォルトの名無しさん
2013/09/26(木) 21:15:09.72明らかにクラずの再利用性を制限するパターンだから、
現代の常識から見れば使うべきでない。
10年以上前の概念だから、こういう事もある。
0955デフォルトの名無しさん
2013/09/26(木) 21:18:02.83台無しじゃないか。
0956デフォルトの名無しさん
2013/09/26(木) 21:24:14.080957デフォルトの名無しさん
2013/09/26(木) 21:34:10.010958デフォルトの名無しさん
2013/09/26(木) 21:40:10.570959デフォルトの名無しさん
2013/09/26(木) 21:40:51.17の長さが違って許しがたいんだけどどうすればいい?
0960デフォルトの名無しさん
2013/09/26(木) 21:41:34.57オバマさんに直訴してみれば?
0961デフォルトの名無しさん
2013/09/26(木) 21:42:51.760962デフォルトの名無しさん
2013/09/26(木) 21:43:19.41フォント変えろ
0963デフォルトの名無しさん
2013/09/26(木) 21:45:40.17w
久々だよ、こんだけ笑ったの
0964デフォルトの名無しさん
2013/09/26(木) 21:54:00.02wideとhighにすれば
0965デフォルトの名無しさん
2013/09/26(木) 21:57:45.38class TData_Global {
public:
TData_AppSetting appSetting;
};
template <class T>
class Singleton {
public:
T* GetInstance();
private:
T() {}
T(const T& rhs);
T& operator=(const T& rhs);
};
template <class T>
T* Singleton<T>::GetInstance()
{
static T instance;
return &T;
}
typedef Singleton<TData_Global> Singleton_TData_Global;
0966デフォルトの名無しさん
2013/09/26(木) 21:59:26.47Tate
0967デフォルトの名無しさん
2013/09/26(木) 21:59:49.93理由は初期化のタイミングを制御できるから
0968デフォルトの名無しさん
2013/09/26(木) 22:02:01.41Size構造体を作ればいいけど
0969デフォルトの名無しさん
2013/09/26(木) 22:03:47.250970デフォルトの名無しさん
2013/09/26(木) 22:06:11.340971デフォルトの名無しさん
2013/09/27(金) 00:44:14.81その TData_Global とかいうよくわからん名前がただのノイズにしかなってない気がする。
今あるメンバ関数をただの関数にしちゃえばいいんじゃないの?
Data::G->xxx.yyy.getData()
↓
getGlobalXxxYyyData() とか。
(この例だと globalXxx って変数がグローバルにあればいいのかもしれないけど。)
0972デフォルトの名無しさん
2013/09/28(土) 01:59:40.840973デフォルトの名無しさん
2013/09/28(土) 10:06:55.48{
test* v;
test()
:v(new test)//ハンドルされていない例外
{}
~test()
{delete v;}
};
のようにすると例外が出るのですが、何がいけなかったのでしょうか?
0974デフォルトの名無しさん
2013/09/28(土) 10:09:16.160975デフォルトの名無しさん
2013/09/28(土) 10:21:36.59無限ループになってたんですね。
自身のコンストラクタ->vのコンストラクタ->vのvのコンストラクタ->.....
:v(new test) -> :v(NULL)にして無限ループ解消して
test t(new test);//自身のコンストラクタでのみnewしておけば大丈夫でした。
0976デフォルトの名無しさん
2013/09/28(土) 10:32:36.150977デフォルトの名無しさん
2013/09/28(土) 10:37:33.320978デフォルトの名無しさん
2013/09/28(土) 11:02:45.950979デフォルトの名無しさん
2013/09/28(土) 11:16:49.00test::test(test&a):v(nullptr){a.v=this;} OR
test::~test(){if(v)delete v;}
だろ
0980デフォルトの名無しさん
2013/09/28(土) 11:24:45.990981デフォルトの名無しさん
2013/09/28(土) 11:54:28.87コピーコンストラクタはprivateしておきました。
nullptr C++11ですね。古いコンパイラ使ってたものですみません。
>>977
struct test2{boost::shared_ptr<test2> v;};
のようにして
みましたが、今度はデストラクタでStackOverFlowになるようでした。
test2 t2; t2.v = boost::shared_ptr<test2>(new test2());
test2* next = t2.v.get();
for(int i=0;i<1000;i++){ next->v = boost::shared_ptr<test2>(new test2());
next = next->v.get();}
0982デフォルトの名無しさん
2013/09/28(土) 14:27:02.40お前わかっててやってんだろ
0983デフォルトの名無しさん
2013/09/28(土) 20:00:04.460984デフォルトの名無しさん
2013/09/28(土) 21:01:06.11それは、デストラクタの中でデストラクタ呼び出し->そのデストラクタの中でまたデストラクタ呼び出し->...
という再帰呼び出しのネストが深すぎてスタック食いつぶしてる状態
shared_ptrとは関係なく普通のポインタを使っていても同じ流れの設計なら起きる
0985デフォルトの名無しさん
2013/09/29(日) 00:37:36.600986デフォルトの名無しさん
2013/09/29(日) 00:43:25.270987デフォルトの名無しさん
2013/09/29(日) 00:46:35.920988デフォルトの名無しさん
2013/09/29(日) 01:12:53.010989デフォルトの名無しさん
2013/09/29(日) 06:02:57.950990デフォルトの名無しさん
2013/09/29(日) 07:35:00.980991デフォルトの名無しさん
2013/09/29(日) 15:10:20.950992デフォルトの名無しさん
2013/09/29(日) 15:11:26.050993デフォルトの名無しさん
2013/09/29(日) 15:21:50.610994デフォルトの名無しさん
2013/09/29(日) 15:26:14.150995デフォルトの名無しさん
2013/09/29(日) 15:37:41.470996デフォルトの名無しさん
2013/09/29(日) 15:54:31.720997デフォルトの名無しさん
2013/09/29(日) 16:29:10.540998デフォルトの名無しさん
2013/09/29(日) 16:32:13.670999デフォルトの名無しさん
2013/09/29(日) 16:53:23.021000デフォルトの名無しさん
2013/09/29(日) 16:54:49.2310011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。