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


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

C++相談室 part122



1 名前:デフォルトの名無しさん mailto:sage [2016/01/23(土) 23:06:15.32 ID:HdItgJjm.net]
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレに
お願いします。

前スレ
C++相談室 part121
peace.2ch.net/test/read.cgi/tech/1449240881/


このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.97【環境依存OK】
peace.2ch.net/test/read.cgi/tech/1439849418/

次期規格C++1zはこちら
C++14/C++1z 20
peace.2ch.net/test/read.cgi/tech/1410382924/

■長いソースを貼るときはここへ。■
 codepad.org/
 ideone.com/

844 名前:デフォルトの名無しさん mailto:sage [2016/02/15(月) 00:15:11.02 ID:oAOjOrx0.net]
>>836
throw newがそんなに変か?
マイクロソフトのMFCとかDeleteする決まりでnew相当のことしてるし、
std::excetionが仮想デストラクター持ってる時点でnewは想定内だと思うが

845 名前:デフォルトの名無しさん mailto:sage [2016/02/15(月) 01:03:22.65 ID:2arjOQyX.net]
template<typename E, typename... A>
[[noreturn]] auto my_super_urtra_ excetion(A &&...p) {
 std::unique_ptr<std::excetion> r;
 try {
  auto sp = make_unique<E>( forward<A>(p)... );
  r.reset(sp.release());
 }
 catch(...) {
  termineit();
 }
 throw r;
}

846 名前:デフォルトの名無しさん mailto:sage [2016/02/15(月) 01:18:37.66 ID:t53MVuXe.net]
CreateThreadでスレッド作成した場合crtが正しく動く保証はある?

847 名前:デフォルトの名無しさん mailto:sage [2016/02/15(月) 01:27:44.57 ID:FDnCcdJi.net]
イニシャライズ関数とかないんかなー。

848 名前:デフォルトの名無しさん mailto:sage [2016/02/15(月) 07:11:27.03 ID:X0JRo1x/.net]
Win32の話はスレ違いだな

849 名前:デフォルトの名無しさん [2016/02/15(月) 07:58:34.47 ID:CWNdtN9u.net]
detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14155900084

850 名前:デフォルトの名無しさん mailto:sage [2016/02/15(月) 08:29:56.66 ID:E84Q1jzs.net]
>>844
>>845も書いてるけど、スマポにいれるときに必要でしょ。
MFCがそうしてる理由は知らない。もう調べる気にもならない。

851 名前:デフォルトの名無しさん mailto:sage [2016/02/15(月) 15:58:42.31 ID:OrmzHinO.net]
>>846 動かないから代わりに _beginthreadex を使う

852 名前:デフォルトの名無しさん mailto:sage [2016/02/15(月) 19:21:41.46 ID:/dhi15sf.net]
ランタイムに依存せずに,win32api を直接叩くの筋だろうに



853 名前:デフォルトの名無しさん mailto:sage [2016/02/15(月) 19:28:23.35 ID:+a5jVKa7.net]
独学で勉強中ですごくくだらない質問だと思うんですが、よくわからないのでよろしくお願いします

//----------
#include <iostream>
int main(){
 int *i = new int() ;
 std::cout << i << std::endl ;
 return 0 ;
}
//----------
これだとvalgrindやcppcheckを使ってチェックするとメモリリークしてるとして言われます
実際newしたものをdeleteしてないのでこちらは納得できるんですが、一方次の
//----------
#include <iostream>
int *i ;
int main(){
 i = new int() ;
 std::cout << i << std::endl ;
 return 0 ;
}
//----------
これだとnewしたものをdeleteしてないのにどちらのツールもエラーが出ずに終了してしまいます

この後者のコードは実際に問題無いんでしょうか?
それともただ検出漏れなだけで正しくないものなのでしょうか?

また、もし問題がないならその理由(なぜグローバル変数として宣言しているとdeleteしてないのに問題ないのか)も教えていただけると助かります
よろしくお願いします

854 名前:デフォルトの名無しさん mailto:sage [2016/02/15(月) 19:40:37.00 ID:CbTFphiX.net]
問題はある
検出が困難だからじゃね?リンクする全ての翻訳単位を調べる必要がある

855 名前:デフォルトの名無しさん mailto:sage [2016/02/15(月) 20:25:22.92 ID:nJzI4k3D.net]
昔、plaugerかmeyers様が言っていた「これはリソースリークじゃないんだぜ」ってセリフをドヤ顔で言ってみたくて
>>853みたいなコードを書いてみたが、なんのメリットもないどころか害しかなかったorz

856 名前:デフォルトの名無しさん mailto:sage [2016/02/15(月) 20:39:29.70 ID:/dhi15sf.net]
>>853
どっちもリークしてるよ,後者は検出をとちっているよ

857 名前:デフォルトの名無しさん [2016/02/15(月) 20:42:06.75 ID:515HeFhA.net]
cppcheckって
int* i = new int;
は検出するけど
new int;
ってやると検出してくれないクソツールだったような

858 名前:デフォルトの名無しさん mailto:sage [2016/02/15(月) 21:30:54.97 ID:E84Q1jzs.net]
リークとは寿命が終わったオブジェクトにメモリ領域が割り当てられている事
グローバル変数の寿命はプログラムの終了に等しいのでリークではない

859 名前:デフォルトの名無しさん mailto:sage [2016/02/15(月) 21:45:37.09 ID:g9kjW0Ge.net]
>>858
int *i ;

iそのものはな。

860 名前:デフォルトの名無しさん mailto:sage [2016/02/15(月) 21:58:25.68 ID:cINU//5g.net]
C++使っていてメモリ以外のネイティブリソースのことが頭にないなんてどれだけアホなんだ

861 名前:デフォルトの名無しさん mailto:sage [2016/02/15(月) 21:59:58.72 ID:Kxee8Til.net]
>>858
それな
めんどくさくなりそうだから黙っておいた

862 名前:デフォルトの名無しさん mailto:sage [2016/02/15(月) 22:47:14.02 ID:nJzI4k3D.net]
>>858
僕のドヤッを横取りしないでくれまいか



863 名前:デフォルトの名無しさん mailto:sage [2016/02/15(月) 23:22:30.66 ID:t1etBRNf.net]
>>858
グローバル変数のリークなんて誰も言ってないことでドヤ顔されても… w

864 名前:デフォルトの名無しさん mailto:sage [2016/02/15(月) 23:47:29.60 ID:sBsZfSdn.net]
アスペは指摘するポイントがずれているな
「グローバル変数の寿命はプログラムの終了に等しいので(グローバル変数で参照されているオブジェクトの寿命もまたプログラムの終了に等しいので)リークではない」
という日本語だろうに

865 名前:853 mailto:sage [2016/02/16(火) 00:04:03.79 ID:X2hmxT3s.net]
頂いたレスをヒントに色々パターンを試してみて自分なりに納得できました
ありがとうございました

866 名前:デフォルトの名無しさん mailto:sage [2016/02/16(火) 00:12:13.15 ID:yTUaUSx5.net]
何をどう納得したんだか
素人がnewを使うとやはりロクなことがない

867 名前:デフォルトの名無しさん mailto:sage [2016/02/16(火) 00:47:08.51 ID:utvP1D7N.net]
マジ>>860に尽きる、
>>858のリークの定義は片手落ちすぐる

868 名前:デフォルトの名無しさん mailto:sage [2016/02/16(火) 06:42:53.10 ID:8Pefi829.net]
そもそもintをnewするな

869 名前:デフォルトの名無しさん [2016/02/16(火) 08:09:37.14 ID:5UqE7wWz.net]
おまえらナマポ好きだな

870 名前:デフォルトの名無しさん mailto:sage [2016/02/16(火) 09:22:32.06 ID:WpzjUCIx.net]
>>859 >>863
ヒープ領域とプログラムの終了に関係に対して典型的な勘違いをしている可能性がある
>>853の一番目の例で「リークしている」と考えている可能性)

>>866 >>868
お前らはおそらく他のみんなより周回遅れだからもうレスしないほうがいい

871 名前:デフォルトの名無しさん mailto:sage [2016/02/16(火) 13:01:17.95 ID:55V2OvFf.net]
>>870
お前は周回遅れ以前に方向が明後日だからレスするなよ…

872 名前:デフォルトの名無しさん mailto:sage [2016/02/16(火) 13:30:13.10 ID:7QfacfPp.net]
熟練者が下位ライブラリで使う以外ではnewは絶対に使わせるな!
JavaやC#から流れてきた人間にはC++のnewは到底扱えないものだと
いうことが繰り返し繰り返しはっきりしてきた



873 名前:デフォルトの名無しさん mailto:sage [2016/02/16(火) 13:36:34.99 ID:DcMkse9A.net]
そっかぁ
繰り返し繰り返しはっきりしてきたかぁ

874 名前:デフォルトの名無しさん mailto:sage [2016/02/16(火) 13:39:06.49 ID:xyyoUOSC.net]
sbrk と mmap はok?

875 名前:デフォルトの名無しさん mailto:sage [2016/02/16(火) 13:49:41.64 ID:8Pefi829.net]
プログラムの終了でヒープが開放されるのはOSの機能の話であっても、言語仕様ではないよね?
基本的にはプログラム内でnewしてアロケートしたメモリはdeleteしないとダメなんじゃないの?
それをメモリリークと呼ぶかどうかは別として

876 名前:デフォルトの名無しさん mailto:sage [2016/02/16(火) 16:53:19.68 ID:3V9H/1fh.net]
今はツールが検出できるかって話だから、どうした方が行儀が良いとか関係ないんだよ
VCのメモリリーク検出ツールなら>>853の下のバージョンのコードのメモリリークを検出するよ
しかし、cppcheckは静的に解析してメモリリークを探すものだから限界があるのだろう

877 名前:デフォルトの名無しさん mailto:sage [2016/02/16(火) 17:09:29.10 ID:3V9H/1fh.net]
あと、メモリリークに対する考え方がツールによって異なるのだろう
VCのメモリリーク検出ツールは、newしたものをdeleteし忘れていたら
プログラム終了時に教えてくれる単純なものだが
これとは違ったポリシーのツールなのかもしれない

例えば、どこからも参照されていないメモリブロックが有ったら、メモリリークとする、という考え方なら
グローバル変数に突っ込んである限りは、プログラムが生きている間はずっと参照が残るので
deleteしなくてもメモリリーク扱いにならない、とかかもしれない
良くは知らんが

878 名前:デフォルトの名無しさん mailto:sage [2016/02/16(火) 23:59:38.31 ID:RidGc7qJ.net]
で?

879 名前:デフォルトの名無しさん mailto:sage [2016/02/17(水) 00:49:29.84 ID:BPMYjlVf.net]
>プログラムの終了でヒープが開放される
これやってくれない処理系って例えば何ですかね?
組み込みのOSとかだとあるんかな

880 名前:デフォルトの名無しさん mailto:sage [2016/02/17(水) 01:03:08.75 ID:N1klTUFY.net]
>>853
早い話そのツールはリーク検出については使いものにならないということ

881 名前:デフォルトの名無しさん mailto:sage [2016/02/17(水) 07:43:11.29 ID:d8kqwnnS.net]
プログラム終了までと言うけど一つの翻訳単位で
 A a;
 int * p;
Aのデストラクタが呼ばれたときはpの寿命尽きてるだろう

882 名前:デフォルトの名無しさん mailto:sage [2016/02/17(水) 09:50:12.84 ID:STxbdzYG.net]
>>881
os(ランタイム)が仕事しないかもよ



883 名前:デフォルトの名無しさん mailto:sage [2016/02/17(水) 10:12:54.63 ID:UG2kvZqb.net]
 int * p;
pの寿命が尽きたあとでpが指していたヒープ領域が回収されていなければ、その時点でメモリリーク。
そのあと回収されるかどうかは別の話。

884 名前:デフォルトの名無しさん mailto:sage [2016/02/17(水) 20:09:44.69 ID:o4vOr9JW.net]
だけど、LinuxやGNUの人たちの中には
プログラム終了時にプロセスで使っていたメモリを開放しない派の人たちがいるでしょ
OSが開放するからって理由でさ
LinuxはヘボOSじゃないからプロセス終了時に自動でメモリを開放するから余計なことはしないっていうね
そういう人たちからしたら
int *global = new int;
でプロセス終了時にdeleteしてないのをメモリリークで検出されたら困るわけで
そういう人たちの圧力に屈して、グローバル変数が参照しているメモリブロックはメモリリーク扱いにしてないんじゃね?

885 名前:デフォルトの名無しさん mailto:sage [2016/02/17(水) 20:13:44.87 ID:o4UHPyEX.net]
もうやめよう

もう、やめよう

886 名前:デフォルトの名無しさん mailto:sage [2016/02/17(水) 21:13:10.77 ID:sobQnjjW.net]
グローバル変数と同じ寿命のオブジェクトを開放しないことはメモリ(およびリソース)リークにあたらない、という人は、
異なる翻訳単位に属する静的オブジェクトが依存関係を有するケースを見たことが無いのであろうか…
その場合、起動時の初期化順がA→B→Cなら開放順はC→B→Aでなければコケて例外を吐きかねないが
OS(と処理系の静的オブジェクト開放ランタイム)はそんなことお構いなしに適当な順序で開放してくれる

なお、異なる翻訳単位に属する静的オブジェクトに依存関係を持たせることは、
プロセス内の実行環境全体に低水準レイヤーのAPIを公開するみたいな階層設計なことがあり一概に糞とは言えない

887 名前:デフォルトの名無しさん mailto:sage [2016/02/17(水) 21:13:29.77 ID:BJJMKH5P.net]
valgrindのメモリリーク検出が使ものにならないとかwww
使い物にならないのはお前だろwww

マジレスするとOSが纏めて解放してくれる環境で自分で一つ一つ解放する方がバカ
C99の_ExitかC++11のstd::quick_exitを知らんのか

888 名前:デフォルトの名無しさん mailto:sage [2016/02/17(水) 21:15:19.69 ID:sobQnjjW.net]
メモリリークの話はもうやめようというレスがあったので
開放順の話にしてみた

889 名前:デフォルトの名無しさん mailto:sage [2016/02/17(水) 21:19:53.84 ID:g2jiUPfD.net]
delete global;してもOSには返却されないぞ。

890 名前:デフォルトの名無しさん mailto:sage [2016/02/17(水) 21:22:14.50 ID:ul+wSSfx.net]
メモリーアロケータが握ってるが、メモリアロケータのプロセスが死んだら解放される。
アロケータさんが牛耳ってるところにメモリくれって言いに行ってないって言われたらそのアプリは終了だから。
メモリは解放しましょう。

891 名前:デフォルトの名無しさん mailto:sage [2016/02/17(水) 21:35:47.24 ID:e1xOPzhr.net]
(スレのレベルを下げるのは)もうやめよう

そう言ったんです

不毛ですやん?

892 名前:デフォルトの名無しさん mailto:sage [2016/02/17(水) 21:37:55.44 ID:BJJMKH5P.net]
バカに自分のバカさ加減を知らしめないとスレのレベルは下がる一方だろ?



893 名前:デフォルトの名無しさん mailto:sage [2016/02/17(水) 21:39:05.85 ID:e1xOPzhr.net]
>>892
アンタのレスは良いよ

でもさ、きっとそれも無駄に終わる
もう毎度毎度のクソ展開は始まっている

894 名前:デフォルトの名無しさん mailto:sage [2016/02/17(水) 22:48:07.25 ID:N1klTUFY.net]
OSが解放してくれるからーの奴はまともに開発の仕事やったことないんだろうな

895 名前:デフォルトの名無しさん [2016/02/17(水) 22:49:54.80 ID:/p51h0GV.net]
いちいちこれはOSが解放するからOKとか自分で解放しなくちゃだめとか区別する方がめんどくさいだろ
全部解放すりゃいいだけなのになんでわざわざ手間かかる方を選ぶのか

896 名前:デフォルトの名無しさん mailto:sage [2016/02/17(水) 22:57:23.22 ID:N1klTUFY.net]
デバッガで動かして終了時にリークメッセージがぞろぞろ出るやつなんて作ったらボコボコにされるわw
共同作業が全くない環境ならいいかと思うかも知れんが本当にアカンリークが分からなくなるだろ

897 名前:デフォルトの名無しさん mailto:sage [2016/02/17(水) 23:33:08.75 ID:nBw88SJt.net]
デバッグ版はまじめに exit
リリース版は _Exit

898 名前:デフォルトの名無しさん mailto:sage [2016/02/17(水) 23:58:23.11 ID:BpXyDkaJ.net]
staticデータメンバーが、constなリテラル型の場合、クラス定義内の宣言に、初期化子を書くことができる。
この場合、初期化子は定数式でなければならない。staticデータメンバー自体も、定数式になる。
初期化子を書かない場合は、通常通り、クラス定義の外、同じ名前空間スコープ内で、定義を書かなければならない。
この場合は、定数式にはならない。

899 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 00:33:29.72 ID:lQH/V+Cq.net]
>>895
解放処理にもコストがかかるから
gnuのcpが終了時にハッシュテーブル全て丁寧に破棄してて数億件のファイルコピーをすると終了処理にも膨大な時間がかかってたから、
解放しないように修正されたのは有名な話だろ

>>896
だからまともなメモリリーク検出ツールであるvalgrindは >>853 の例をメモリリークとしないんだよ。
(オプション入れると報告はする)
それをメモリリークとして報告するようなツールがもしあるなら使い物にならないクソだから今すぐ捨てろ。

900 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 00:51:59.53 ID:8+Q+0B6C.net]
>>899
さあそのcpの例なんて知らねーよ
メモリを解放するのがバカだったのかテーブルの持ち方がバカだったのか分かんねーな
そんな特殊例を無闇に一般化して、だから丁寧にメモリを解放する奴はバカだとか言われてもね

valgrindとやらで>>853をリークとするオプションがあるなら何故それを教えてやらない?
そのオプションは特殊な場合じゃない限り入れたほうがいいからw

901 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 01:04:13.35 ID:lQH/V+Cq.net]
なんで知らない癖にそんな偉そうなんだよ・・・
救いようがないな

902 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 01:14:05.63 ID:8+Q+0B6C.net]
だからそのvalgrindオプションを教えてくれよ
それで>>853は解決だから



903 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 01:30:26.74 ID:lQH/V+Cq.net]
問題ないから(デフォルトでは)検出しないだけだから教える必要ないよ。
そのオプションについて教えてほしいと本人に頼まれてるわけじゃないしな。本人だとしたらなおさら教える気しないけど

904 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 01:36:35.06 ID:8+Q+0B6C.net]
なんでそんなに勿体ぶるんですかねー?www

905 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 04:59:50.13 ID:wtekQPk7.net]
light.dotup.org/uploda/light.dotup.org299941.png
迷路しておちつけ。

906 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 05:28:07.86 ID:R4UuwZL3.net]
gnuのcpが糞だからメモリ解放は要らないという理屈でいくと、
>>899みたいなアホがC++やってるからC++は馬鹿専用なので捨てるべき言語になるな

907 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 05:34:41.02 ID:wtekQPk7.net]
>>905
これくらい以上の迷路作るときはヒープ必須なんやで。
これくらいのヒープをぽいぽいしてたら長期運用なんか無理やで。

908 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 06:01:16.63 ID:cxWjsl/x.net]
自分の知能ではできないからと言って
出来ないことがさも普遍的であるかのように語られても

909 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 06:48:52.39 ID:wtekQPk7.net]
コードくれ。

910 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 07:23:38.84 ID:wtekQPk7.net]
頭の悪いAIが今後誕生するのはメモリを開放しないからだ。とかいってみる。
記憶領域が足りなくて馬鹿になる。レガシーきっていいかは本人にはわからないので貯め込みジバーク。

911 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 07:32:21.02 ID:QAq70uC+.net]
https://youtu.be/YuBdhrZuJTs

912 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 07:33:19.43 ID:lQH/V+Cq.net]
>>893
の言ったとおりになったな。

ちなみにvalgrindのオプションは実行結果を読んだら2回目にたどり着く



913 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 07:44:35.15 ID:wtekQPk7.net]
>>911
すげー。よく続きからかけるな。
俺の>>905はコーディング4時間だぞ。前に一回作ったことあるからそれも踏まえてね。
最後に燃やしてるのが悲しみを誘う。昇華されたんですな。

914 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 08:05:37.08 ID:8+Q+0B6C.net]
>>912
「2回目にたどり着く」www
とっととそれをここに書きやがれ
でなけりゃこのスレにはもう二度と書き込むな
ここはお前が勿体ぶって物知り顔するスレじゃないんだぞ
>>853をデフォルトでリークとしないクソツールなんてインストールする気にもならないが

915 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 08:09:31.23 ID:8+Q+0B6C.net]
インストールする気にもならないがお前がそのオプションとやらを出したら
リファレンスくらいは確認してやるよ

916 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 08:19:15.91 ID:lQH/V+Cq.net]
ここはお前が偉そうに教えを乞うスレだったんかw

917 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 10:12:51.26 ID:t7yUNGxd.net]
こいつPostMessageの馬鹿じゃね?
間違いを認めず尊大な態度で開き直るってパターンが一緒

918 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 12:26:56.51 ID:cxWjsl/x.net]
>>914
大丈夫だ。デフォルトで実行するとフルチェックの指定方法が表示されるからツールとして問題無い

919 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 12:40:57.57 ID:dlsHUuTC.net]
どんなクズツールの紹介かと思ったらvalgrindじゃないか
たまにお世話になってます

920 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 22:25:43.19 ID:cxWjsl/x.net]
>>899
>valgrindは >>853 の例をメモリリークとしないんだよ

valgrindはリークをdefinite,indirect,possible,reachableに分類分けしていて
>>853はreachableのリークとして判定される訳だが
どうして嘘をつくのか

921 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 23:36:06.21 ID:cxWjsl/x.net]
>>898
>staticデータメンバーが、constなリテラル型の場合、クラス定義内の宣言に、初期化子を書くことができる

んなこたーない

922 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 23:39:06.37 ID:lQH/V+Cq.net]
>>920
せやね
正確にはメモリエラーにしないだったね。
ごめんなさいね。



923 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 23:40:13.29 ID:jiQGl0+C.net]
>>921
「staticデータメンバーが、constなリテラル型の場合」
をこのページで検索してみては?
ezoeryou.github.io/cpp-book/C++11-Syntax-and-Feature.xhtml#class.static.data

924 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 23:48:43.86 ID:cxWjsl/x.net]
江添は規格じゃないので読む必要はない
江添だって時々間違えることはある

925 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 23:58:46.71 ID:X4zyXl/p.net]
>>924
有名人なのか?

926 名前:デフォルトの名無しさん mailto:sage [2016/02/19(金) 00:42:06.54 ID:hdqL8A7v.net]
>>921
しかしgccでもclangでもvc++でもできるのは事実

927 名前:デフォルトの名無しさん mailto:sage [2016/02/19(金) 00:57:16.68 ID:qtkJJZHl.net]
どうしてそう息を吸って吐くように嘘をつくのか
ideone.com/Bdo8QL

Visual C++:エラー
G++:エラー
clang:エラー

928 名前:デフォルトの名無しさん mailto:sage [2016/02/19(金) 01:03:47.07 ID:yQQGU+cl.net]
>>927
はい
ideone.com/NSy2jj

929 名前:デフォルトの名無しさん mailto:sage [2016/02/19(金) 01:06:02.63 ID:hdqL8A7v.net]
>>927
ああごめん、俺が言ってるのは整数型だった。

930 名前:デフォルトの名無しさん mailto:sage [2016/02/19(金) 01:09:43.25 ID:yQQGU+cl.net]
>>927
すまんミスってた。

931 名前:デフォルトの名無しさん mailto:sage [2016/02/19(金) 01:47:17.70 ID:i395RlVR.net]
>>928
ID:qtkJJZHlのC++は名前にliteralが含まれればそれはリテラルになる

932 名前:デフォルトの名無しさん mailto:sage [2016/02/19(金) 04:00:06.01 ID:cPukLG4B.net]
どういう事?
ID:qtkJJZHlが正しいんじゃないの?



933 名前:デフォルトの名無しさん mailto:sage [2016/02/19(金) 04:03:39.73 ID:cPukLG4B.net]
ああ、リテラルとリテラル型の違いがわかってない人がいるだけか

934 名前:デフォルトの名無しさん mailto:sage [2016/02/19(金) 10:19:45.75 ID:P6v/Cgbl.net]
> staticデータメンバーが、constなリテラル型の場合
誤 リテラル型
正 整数型・列挙型

クラスのstaticデータメンバーがリテラル型の場合は
(constではなく)constexprのときに初期化子が書ける(この場合正確には『初期化子を書かなければならない』)

935 名前:デフォルトの名無しさん [2016/02/19(金) 12:51:22.58 ID:cPukLG4B.net]
constはfloatもできないのね
今まで壮絶に勘違いしていた

936 名前:デフォルトの名無しさん mailto:sage [2016/02/19(金) 12:54:01.88 ID:/AvoFovE.net]
おまえら実はプログラム実際に書いたこと無いだろ(´・ω・`)

937 名前:デフォルトの名無しさん mailto:sage [2016/02/19(金) 20:04:26.07 ID:eREs2hdb.net]
peace.2ch.net/test/read.cgi/tech/1447298537/

938 名前:デフォルトの名無しさん mailto:sage [2016/02/19(金) 22:24:52.27 ID:iVAswwzA.net]
>>934
const volatile boolはconstな整数型ですが
クラス定義で初期化子が書けないのは何故ですか

939 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 01:58:57.86 ID:+KUF2f1T.net]
君がその場の背景・空気・流れといったものを読めない人だから
いやいやかなりマジで

940 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 04:44:38.86 ID:WMw6sfmv.net]
>>936
やめようよPostMessageしてた人にPostMessageするの

941 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 04:50:30.62 ID:fyeNp01h.net]
>>936
彼らは歴史をなぞるだけのトレーサーだったりするのかもしれない。

942 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 05:49:25.50 ID:uiB0F9x6.net]
まーだ極度なメモリ不足下でPostMessageが失敗することがあるという事実にいちゃもんつけてるバカが居るのか
よっぽど暇なんだろうな
>while (PostMessage(hWnd, WM_NULL, 0, 0));
とかやって「証明終了!」とかいうバカだから暇でしょうがないんだろうなあ



943 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 06:02:10.07 ID:fyeNp01h.net]
いないから。いないから。静まり給え。

944 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 07:18:35.18 ID:0KWzs3FY.net]
valgrindのオプションを今回だけは特別に教えて下さい!

945 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 09:12:00.07 ID:WMw6sfmv.net]
valgrindも知らないなんてありえないよね…

946 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 12:03:23.44 ID:KnZWdrIJ.net]
ID変えながらひとりで会話して可哀想
クソツールと否定されて相当悔しかったらしい
あ、PostMessageの時もそうだったかw

947 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 16:35:56.90 ID:WX8IzsC4.net]
valgrind,結構役立たずなんだ‥

948 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 17:50:05.19 ID:7FQ5kWTX.net]
エロ動画の「盛り上がり場面」を判定するソフトを作ろうとしているのですが、盛り上がりっぷりの検出をどうすればできるか悩んでいます
各コマごとのピクセル情報はすでにあるものとして、そのピクセル情報からその場面がどれくらいヒートしてるか計るアルゴリズムについて
アイデアがあれば教えて頂けませんでしょうか。
今はモザイクがかかってる箇所に対する反復運動の激しさから判定しようと思ってるのですが
それだけでは正確な盛り上がりっぷりがわからないのかなと思っています

949 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 17:59:07.80 ID:jIhi6tPT.net]
大相撲の土俵際の攻防を判定するソフトがあるから参考にすれば?

950 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 21:02:56.26 ID:frKGVU8o.net]
喘ぎ声から判定するのが近道なんじゃないかな

951 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 21:52:40.73 ID:owoJYL1y.net]
>>950
喘ぎ声を必死におさえてる表情に興奮するオレみたいな奴もいるからそれはダメ

952 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 22:49:16.33 ID:T3VT//dk.net]
あえぎ声を必死に押さえている音は認識できるんじゃね。

被験者100人くらいに膨張率センサつけてAV見放題で数ヵ月かければDLに必要な学習データも集まるかもよ。



953 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 22:58:04.49 ID:cJNMkscd.net]
>>948
それ作ってなにに使うとよ?

954 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 23:08:54.38 ID:7FQ5kWTX.net]
音ってのは盲点でした
女喘ぎ声から男の攻めっぷりが判定できて、男喘ぎ声から攻められっぷりが判定できるかも

>>953
見てる動画の雰囲気に合わせてUSBオナホを動かすソフト作ってます

955 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 23:17:06.05 ID:5/VRxrKY.net]
使っている奴の脈拍や呼吸数をチェックする方がいいのでは?

956 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 23:45:05.67 ID:7FQ5kWTX.net]
下世話な話で申し訳ないのですが
使ってる人間に合わせたシステムだとまるで意味が無いのです
あくまで「自分の意思に関係なく動く機械によって快感を得る」というのがUSBオナホの基本でして・・・

957 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 00:03:45.26 ID:vvUk+ASg.net]
AVの構成ってだいたい決まってるでしょ
からみ→くんに→ふぇら→挿入みたいな
場面の切り替わりをうまく検出してシーンの割り当てるのがいい気がする

958 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 00:06:32.35 ID:Xn8BbX8n.net]
音声信号をそのままUSBオナホの振動に変換するだけでもかなり良いんじゃないかな

959 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 00:08:25.81 ID:mZ9I4pVL.net]
このスレッドは18禁になりました。未成年者はとっとと出ていって下さい。

960 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 00:09:05.15 ID:Xn8BbX8n.net]
あとは動画の動き検出して、動きの多さにUSBオナホを合わせるとか
これに>>958もプラスすると、意表を突かれた制御不可能な感じになって楽しいのでは?

961 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 00:14:22.54 ID:xPHbwGFI.net]
機械学習の話は機械学習スレへ池、
ttp://peace.2ch.net/test/read.cgi/tech/1439302488/

962 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 00:29:39.88 ID:S0uLAIyq.net]
USBオナホとか技術の粋だな
胸があつくなるわ
使ったことないけど



963 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 02:15:25.64 ID:UzPMPT/j.net]
C++ そこそこは勉強してたのですが
autoを知ったのはつい最近です。
いつ頃できたものなのですか。

964 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 02:18:59.38 ID:BYiGM6la.net]
まずぉまえの言う最近知ったautoが何を指しているのか伺おうか
C++は同じキーワードに様々な機能を定義するUNKO言語なので

965 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 02:34:57.21 ID:BYiGM6la.net]
なんだまた炎上学習法か?

auto int i1 = 0; 1998年
auto i2 = 0; 2011年
auto f1() -> int; 2011年
auto f2() {return 0;} 2014年
auto f3() -> auto {return 0;} 2014年
decltype(auto) j = i1; 2014年
auto f = [](auto p){}; 2014年

966 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 06:47:26.21 ID:UzPMPT/j.net]
ありがとうございます。
2011のようです。
納得しました。

967 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 06:47:59.04 ID:Vu+T+AQR.net]
autoはC言語登場初っ端からある
貴様が情弱なだけのこと

968 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 06:51:27.85 ID:Vu+T+AQR.net]
そして式から型を判別しようとしてautoを使い始めたのはつい最近だ

969 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 07:06:48.69 ID:6FoMFdKR.net]
周回遅れでドヤ顔 w

970 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 09:03:30.90 ID:UzPMPT/j.net]
なんかすごく(レスの内容に)レベルの違いのようなものを感じます。
色んな人がいるようで面白くはありますが。

971 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 09:36:47.03 ID:UzPMPT/j.net]
一応書いておきます。Cはかなり昔から使ってますがわざわざautoなんて書いたことはないと思います。

972 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 09:51:17.50 ID:etYdR+rT.net]
>>971
ここで聞くのは効率悪いし、自分で今どきのC++をリハビリ学習した方がいいよ。
autoなんてたいしたことないけど、理解に時間がかかるものはいろいろあるから。



973 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 10:16:36.25 ID:UzPMPT/j.net]
しばらくは個人作業のみなのでその限りにおいてきちんと動作はするものは作れはします。
今のとこSTLも浅く使えれば十分ですし、CLIとかはめんどくさいし、Boostは難しそうだしで、今から何勉強するのかが難しいんですよね。
やりたいこと何やるにしても環境依存のことばかりです。

974 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 10:21:10.84 ID:toLQNscP.net]
>>954
俺に言わせるとそれほど難しいことじゃない
Windowsの場合、盛り上がり場面に入る前にPostMessageが失敗するようになるから
その辺に対応するのがコツ

975 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 10:51:44.78 ID:xPHbwGFI.net]
>>974
それな
大事だよな

976 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 11:17:52.46 ID:VCiscas1.net]
おじいちゃん、それ、自分のレスだよ

977 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 11:47:49.10 ID:TK0DoK1H.net]
externってどういうときに使いますか?

978 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 11:51:02.67 ID:w4t8RSml.net]
省略されてるだけで使ってると思うよ

979 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 12:05:29.00 ID:UzPMPT/j.net]
ore.h
//#ifndef mydreamで括るなりすれば尚良
//#define mydream
extern int money;
extern class myhouse;
extern struct mywifes;
//#endif

ore.cpp

int money=500;
class myhouse
{
クラスの定義
};
struct mywifes
{
定義
};
とかしとけば
他のcppからは#include "ore.h"だけで済むとかでないの?
二重に定義されたりもないし。

980 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 12:30:13.12 ID:BYiGM6la.net]
既に使っていると言うが、externが何をするものなのかを>>978が理解しているかどうか疑問だ

981 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 12:51:33.19 ID:m+BXwdHb.net]
>>979
C++どころかC言語の理解も怪しい
初心者スレに行きなさい

982 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 13:26:23.63 ID:UzPMPT/j.net]
>981
extern c++
あたりで検索したらすぐわかるよね?

俺の夢は実現しない

そういうことなのだよ



983 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 13:38:31.92 ID:Xl+njwgf.net]
>>974
これが正しい
盛り上がり場面に入るとインスタンスがクイックソートされて参照カウントも静的スコープされるから
結果的にハンガリアン記法のフロントエンドみたいなランタイムライブラリで判定できる

984 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 13:45:05.05 ID:yp1la/Pc.net]
>>983
いやー、ハンドルみたいな使い方を規定していて、
自分は外部関数で値を変更したいんですけど、ユーザーには触ってほしくない。
という、わがままな欲求です。
そのうちUnified Call Syntaxが入ったら、いろいろやろうと思ってるところです。
これくらい以上の迷路作るときはヒープ必須なんやで。
これくらいのヒープをぽいぽいしてたら長期運用なんか無理やで。

985 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 13:48:22.46 ID:hql2OPnW.net]
>>974 のいうとおり
イベントログから対象データをピックアップしてヒューリスティックアルゴリズムによりトランザクション制御を解除することによってstatic領域を確保できる

986 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 14:43:51.25 ID:BYiGM6la.net]
>>981
むしろ>>979こそexternの正しい使い方なのだが何を言っているのか

987 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 15:14:19.72 ID:Z2I+oPAi.net]
>>979 の例 ore.h にある
extern class myhouse;
extern struct mywifes;

クラスや構造体の名前の事前宣言っていうのかな、
ではexternを書かないって話じゃないかな。
エラー出ませんか?


あと mywifes ってC++の文法と別に色々気になるんだけど。

988 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 15:19:46.90 ID:m+BXwdHb.net]
>>986
まさかそんな初心者以下の馬鹿げたレスをされるとは思わなんだ
定義も無しにexternされた構造体型、クラス型変数をどう使うって?

レスを読んでなかったのか?はたまた不完全型を参照やポインタのみとして使用し、
ただコンテキストとして使用するなど世迷い言でも言う気か?
どういう言い訳が聞けるか見ものだな

989 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 15:57:23.17 ID:Xl+njwgf.net]
知ったかレスと知った風レスとマジレスが飛び交ってカオスになってる

990 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 16:12:50.14 ID:OjYyYeGY.net]
正しいツッコミは
mywiveだろうがアホ
が正解

991 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 16:14:54.41 ID:OjYyYeGY.net]
typo
アホは俺だorz

992 名前:デフォルトの名無しさん [2016/02/21(日) 16:18:47.42 ID:toLQNscP.net]
>>988
本質はそこじゃ無い。
intはあってるし、不完全型という利用方法があるので、挙足取り失敗。

externは要らない子とか言ってたバカ?



993 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 16:21:36.17 ID:hql2OPnW.net]
>>988
君は stdio.h の FILE 構造体のメンバを意識して使っているのかね?

994 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 16:26:45.95 ID:xPHbwGFI.net]
externは引き続く識別子が外部シンボル(!=ファイルスコープ)であることを明示するためのもので、
省略したら外部シンボルになるから省略できる

クラス名や構造体名は単なる名前であってリンカが取り扱うシンボルではないから
externをつけるのは無意味
少なくともVCだと
extern class myhouse;
extern struct mywifes;
は警告の対象

995 名前:デフォルトの名無しさん [2016/02/21(日) 16:30:04.99 ID:toLQNscP.net]
不完全型にすらなってないのか。ちゃんと見てなかったわ。

996 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 16:30:44.01 ID:BYiGM6la.net]
>>988
extern class myhouse;

extern class myhouse global_variable;
と読み間違えた

997 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 16:31:32.38 ID:xPHbwGFI.net]
不完全型は次の機会のどっちかでしかまずお目にかからない&利用する必要が無い
 1. 木やリンクリストのノードを表すクラス or 構造体の定義(自分自身と同じ型へのポインタをメンバに持つ
 2. ヘッダファイルに構造体定義を書かずにすます「絶縁」テクニック

ただ最近のコードチェッカは2の絶縁テクニックで警告を上げてちょーウザいから、個人的には2は廃れたテクニック

998 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 16:31:55.92 ID:BYiGM6la.net]
誤 extern class myhouse global_variable;と読み間違えた
正 class myhouse{}; extern class myhouse global_variable;と読み間違えた

999 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 16:33:04.40 ID:89qQ0NtX.net]
wife の複数形は wives

1000 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 16:34:23.39 ID:xPHbwGFI.net]
1000ならメモリリークでPostMessage()がエラー

1001 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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