次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part137
https://mevius.5ch.net/test/read.cgi/tech/1531558382/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.103【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1530384293/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
----- テンプレ ここまで -----
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
C++相談室 part137
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 12c3-4saf)
2018/08/27(月) 16:02:00.94ID:vY3QDx2y0471デフォルトの名無しさん (ワッチョイ 9780-9b2l)
2018/09/16(日) 08:47:08.77ID:SOVIz+sV0 rwxrwxrwx
421421421
8進数なのはアタリマエ
8進数以外で表現しようがない
421421421
8進数なのはアタリマエ
8進数以外で表現しようがない
472デフォルトの名無しさん (ワントンキン MM7f-ahc+)
2018/09/16(日) 09:04:46.04ID:J7jkqE/NM intelチップのマシンコードは3bit単位で意味が変わるから
ハンドアセンブル出来るひとは普通8進数使えるよ
ハンドアセンブル出来るひとは普通8進数使えるよ
473デフォルトの名無しさん (ワッチョイ 37c3-A6n1)
2018/09/16(日) 09:08:16.62ID:NJnAChO90 stickyビットとかsetuidビットとか増えてるから本来はもう8進数じゃ足りないんだぞ
未だに引きずられて無理矢理8進数で表現してるのは害悪だから
未だに引きずられて無理矢理8進数で表現してるのは害悪だから
474デフォルトの名無しさん (ワッチョイ 9fd5-okpm)
2018/09/16(日) 09:14:30.28ID:lOWFqhA+0475デフォルトの名無しさん (ワッチョイ 57f2-okpm)
2018/09/16(日) 09:19:40.62ID:yGlb1wug0 どっかに書いてあった。ユーザー定義リテラルと衝突するんだと。
476デフォルトの名無しさん (アウアウカー Saeb-hTDA)
2018/09/16(日) 09:20:40.61ID:AHKBmQkKa ユーザー定義リテラルが先にきてて、アンダースコアだと重複してしまうから。
案としてはアンダースコアも出てたはず。
案としてはアンダースコアも出てたはず。
477デフォルトの名無しさん (アウアウカー Saeb-hTDA)
2018/09/16(日) 09:24:34.63ID:AHKBmQkKa478デフォルトの名無しさん (ワッチョイ 17b3-Jnas)
2018/09/16(日) 09:30:17.66ID:Z6oeOzwN0 日本の数勘定として、3桁区切りより4桁区切りのほうが良いと思うの。
100,000,000と書いててもぱっと1億って分からん。
1,0000,0000のほうが分かりやすい。
ってC言語関係ないけど。
100,000,000と書いててもぱっと1億って分からん。
1,0000,0000のほうが分かりやすい。
ってC言語関係ないけど。
479デフォルトの名無しさん (ワッチョイ 9f60-P+8y)
2018/09/16(日) 09:40:48.27ID:M63m8fL00 >>478
万事、英米基準だから…
万事、英米基準だから…
480デフォルトの名無しさん (ワッチョイ 9fd5-okpm)
2018/09/16(日) 10:16:56.42ID:lOWFqhA+0 operator "" _000 () みたいなアホなこと書かれかねないからか
なるほどthx
なるほどthx
481デフォルトの名無しさん (ワッチョイ 9fb3-0AE+)
2018/09/16(日) 11:19:42.15ID:+ao0anr70482デフォルトの名無しさん (ワッチョイ 9fb3-0AE+)
2018/09/16(日) 11:23:02.16ID:+ao0anr70483デフォルトの名無しさん (JP 0Hbb-TNGn)
2018/09/16(日) 14:03:39.12ID:cGCWO0MtH484はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-okpm)
2018/09/16(日) 14:41:57.29ID:iD6L9h5X0 ユーザー定義リテラルで 1_億 みたいには書けるじゃろ
485デフォルトの名無しさん (ワッチョイ 9fd5-okpm)
2018/09/16(日) 14:43:54.49ID:lOWFqhA+0 constexpr unsigned long long operator "" _\u5104 (unsigned long long val)
{
return val * 10000 * 10000;
}
{
return val * 10000 * 10000;
}
486デフォルトの名無しさん (ワッチョイ 9fd5-okpm)
2018/09/16(日) 14:58:07.76ID:lOWFqhA+0 // Header <japanese> synopsis
constexpr unsigned long long operator "" _\u4e07 (unsigned long long);
constexpr unsigned long long operator "" _\u5104 (unsigned long long);
constexpr unsigned long long operator "" _\u5146 (unsigned long long);
constexpr unsigned long long operator "" _\u4eac (unsigned long long);
constexpr unsigned long long operator "" _\u5793 (unsigned long long);
constexpr unsigned long long operator "" _\u25771 (unsigned long long);
constexpr unsigned long long operator "" _\u7a63 (unsigned long long);
constexpr unsigned long long operator "" _\u6e90 (unsigned long long);
constexpr unsigned long long operator "" _\u6f97 (unsigned long long);
constexpr unsigned long long operator "" _\u6b63 (unsigned long long);
constexpr unsigned long long operator "" _\u8f09 (unsigned long long);
constexpr unsigned long long operator "" _\u6975 (unsigned long long);
constexpr unsigned long long operator "" _\u6052\u6cb3\u6c99 (unsigned long long);
constexpr unsigned long long operator "" _\u963f\u50e7\u7947 (unsigned long long);
constexpr unsigned long long operator "" _\u90a3\u7531\u4ed6 (unsigned long long);
constexpr unsigned long long operator "" _\u4e0d\u53ef\u601d\u8b70 (unsigned long long);
constexpr unsigned long long operator "" _\u7121\u91cf\u5927\u6570 (unsigned long long);
constexpr unsigned long long operator "" _\u4e07 (unsigned long long);
constexpr unsigned long long operator "" _\u5104 (unsigned long long);
constexpr unsigned long long operator "" _\u5146 (unsigned long long);
constexpr unsigned long long operator "" _\u4eac (unsigned long long);
constexpr unsigned long long operator "" _\u5793 (unsigned long long);
constexpr unsigned long long operator "" _\u25771 (unsigned long long);
constexpr unsigned long long operator "" _\u7a63 (unsigned long long);
constexpr unsigned long long operator "" _\u6e90 (unsigned long long);
constexpr unsigned long long operator "" _\u6f97 (unsigned long long);
constexpr unsigned long long operator "" _\u6b63 (unsigned long long);
constexpr unsigned long long operator "" _\u8f09 (unsigned long long);
constexpr unsigned long long operator "" _\u6975 (unsigned long long);
constexpr unsigned long long operator "" _\u6052\u6cb3\u6c99 (unsigned long long);
constexpr unsigned long long operator "" _\u963f\u50e7\u7947 (unsigned long long);
constexpr unsigned long long operator "" _\u90a3\u7531\u4ed6 (unsigned long long);
constexpr unsigned long long operator "" _\u4e0d\u53ef\u601d\u8b70 (unsigned long long);
constexpr unsigned long long operator "" _\u7121\u91cf\u5927\u6570 (unsigned long long);
487デフォルトの名無しさん (ワッチョイ 57bd-Tlrf)
2018/09/16(日) 15:01:20.18ID:AX2qPX270 mjk
488デフォルトの名無しさん (ワッチョイ 37c3-A6n1)
2018/09/16(日) 15:13:55.06ID:NJnAChO90 まあ64bit整数は垓でオーバーフローしちゃうけどな
489デフォルトの名無しさん (ワッチョイ ff5b-ck2F)
2018/09/16(日) 15:19:22.27ID:un+A0LAL0 アンダーバー必須?
490デフォルトの名無しさん (ワッチョイ 57eb-x5wZ)
2018/09/16(日) 15:23:34.17ID:PDH9z/EW0 予約語なのでユーザー定義リテラルをユーザー定義するときはないとダメ
491デフォルトの名無しさん (オイコラミネオ MM5b-UhQ6)
2018/09/16(日) 20:49:23.78ID:ecoXNuEUM >>482
あー、既視感はこれか…
あー、既視感はこれか…
492デフォルトの名無しさん (ワッチョイ 17a5-l/4L)
2018/09/16(日) 21:37:31.50ID:Lm7yQOTf0 全然関係ない話だが
めんどくさいC,C++を習得すると
他言語学習が簡単に進む
めんどくさいC,C++を習得すると
他言語学習が簡単に進む
493デフォルトの名無しさん (ブーイモ MMbb-ahc+)
2018/09/16(日) 21:46:28.57ID:h2MQFGAYM >>492
つ VLIW
つ VLIW
494デフォルトの名無しさん (ワッチョイ 9f34-zxIj)
2018/09/16(日) 23:31:10.84ID:V0g35lEl0 他言語すべてがザコに見える
特にJAVA
特にJAVA
495デフォルトの名無しさん (ブーイモ MMbb-ahc+)
2018/09/17(月) 00:00:35.54ID:x38HLuISM 多言語使いは問題解決能力が無いのに偉そう
特にJava
特にJava
496デフォルトの名無しさん (ワッチョイ 17b3-Jnas)
2018/09/17(月) 07:23:44.67ID:EVO8AkN40 ところで、C++ってどんな開発に使ってるの?
Linuxのアプリ以外で。
Linuxのアプリ以外で。
497デフォルトの名無しさん (ワッチョイ 5704-G9Ec)
2018/09/17(月) 07:48:33.15ID:oxQatDsR0 https://github.com/satori16/PulseGeneratorForWindows
こんな感じの物が作れるようになった。win32apiだ。
コアはそれなりにできたが、UI作ろうとしたらバグで死亡ちゅう。テストは良いけど過信しないで。
VBとかC#のビジュアル開発がどれだけ楽か身に染みてきた。
ところで、[0,1]の引数のみで使える面白関数しらないかい?
logとかは線形な気がするのでもっとおかしな奴ないかい?
こんな感じの物が作れるようになった。win32apiだ。
コアはそれなりにできたが、UI作ろうとしたらバグで死亡ちゅう。テストは良いけど過信しないで。
VBとかC#のビジュアル開発がどれだけ楽か身に染みてきた。
ところで、[0,1]の引数のみで使える面白関数しらないかい?
logとかは線形な気がするのでもっとおかしな奴ないかい?
498デフォルトの名無しさん (アウアウカー Saeb-NYTI)
2018/09/17(月) 09:36:25.88ID:dZ3SMulNa edcb
499デフォルトの名無しさん (ワッチョイ 77de-dTjR)
2018/09/17(月) 13:09:26.75ID:9OAi7Hbk0500デフォルトの名無しさん (ワッチョイ 97d4-+ow7)
2018/09/17(月) 14:24:16.64ID:zCVYDMXL0501デフォルトの名無しさん (オッペケ Sr8b-+tGE)
2018/09/17(月) 14:39:27.45ID:r6sTx27/r リークしてても?
リークしてても……?
リークしてても……?
502デフォルトの名無しさん (ワッチョイ 97d4-+ow7)
2018/09/17(月) 14:44:25.11ID:zCVYDMXL0503はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-okpm)
2018/09/17(月) 15:02:34.85ID:O6rb8eh90 ものすごい潤沢にメモリがあって処理が終わるまでに使い切ることがないという確信があれば
メモリを解放する処理を入れずに速度を優先することは無いわけではないと思うが、
それが妥当かどうかいちいち検討するコストをかけるくらいならちゃんと解放しておいた方がよろしい。
メモリを解放する処理を入れずに速度を優先することは無いわけではないと思うが、
それが妥当かどうかいちいち検討するコストをかけるくらいならちゃんと解放しておいた方がよろしい。
504デフォルトの名無しさん (ワッチョイ 9fbd-Tlrf)
2018/09/17(月) 15:32:46.89ID:t936AOdi0 なんで速度を要する処理の途中でメモリを獲得するん?
なんで速度を要する処理の途中でメモリを獲得するん? 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
なんで速度を要する処理の途中でメモリを獲得するん? 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
505デフォルトの名無しさん (ワッチョイ 9f75-okpm)
2018/09/17(月) 16:08:31.17ID:0/ju7MLa0506デフォルトの名無しさん (ワッチョイ 7f33-dTjR)
2018/09/17(月) 16:22:22.61ID:kSBsQrFK0 サーバープログラムみたいなもんだったら
リークしてたらどこでシステム停止するかわからんし大問題に繋がるだろうが、
てきとうなベンチマーク検証ならリークしようと最悪落ちようとそこまで支障をきたすわけじゃ無いってことだよ。
てか実際問題そのくらい実験的な意味合いの強いものじゃ無いとc++は苦しい気がするんだが。
リークしてたらどこでシステム停止するかわからんし大問題に繋がるだろうが、
てきとうなベンチマーク検証ならリークしようと最悪落ちようとそこまで支障をきたすわけじゃ無いってことだよ。
てか実際問題そのくらい実験的な意味合いの強いものじゃ無いとc++は苦しい気がするんだが。
507デフォルトの名無しさん (ワッチョイ 17b3-Jnas)
2018/09/17(月) 17:13:04.47ID:EVO8AkN40 C++の生産効率、バク埋め込み率、デバックのしにくさを考えると、積極的にC++を採用すべき分野って限られてくるよね。
組み込みやドライバではCが主流だし、WindowsやスマホではほぼC++は使われないし、Webの世界ではスクリプト言語だし、計算分野ではPythonやMatlabやMathmaticaだし。
仕事でC++使う機会は最近めっきり減ったわ。
組み込みやドライバではCが主流だし、WindowsやスマホではほぼC++は使われないし、Webの世界ではスクリプト言語だし、計算分野ではPythonやMatlabやMathmaticaだし。
仕事でC++使う機会は最近めっきり減ったわ。
508デフォルトの名無しさん (ワッチョイ 37c3-A6n1)
2018/09/17(月) 17:37:23.45ID:3kd9gc670 スマポとSTL使ってればリークなんかそうそう起こらんだろ
古臭いC++のイメージで語らないほうが良いよ爺さま方
古臭いC++のイメージで語らないほうが良いよ爺さま方
509デフォルトの名無しさん (ワッチョイ 9f12-9b2l)
2018/09/17(月) 17:41:18.57ID:qtGPC3c90 スマポと言っても一秒間に数千回数万回の確保とかしてたら流石に遅くなるんじゃね?
510デフォルトの名無しさん (ワッチョイ 37c3-A6n1)
2018/09/17(月) 17:53:56.99ID:3kd9gc670 unique_ptrはナマポ使ってるのと一緒よ
511デフォルトの名無しさん (ワッチョイ 9fb3-0AE+)
2018/09/17(月) 17:55:45.86ID:SBpxj18K0 >>509
そんな機会はめったにないし、万が一あったらそこだけナマポとかで対処できるのはC++だけ
そんな機会はめったにないし、万が一あったらそこだけナマポとかで対処できるのはC++だけ
512デフォルトの名無しさん (オッペケ Sr8b-+tGE)
2018/09/17(月) 18:07:37.03ID:r6sTx27/r >>502
いや、どんな場合でもリークしないように書けよと思って引っかかった
いや、どんな場合でもリークしないように書けよと思って引っかかった
513デフォルトの名無しさん (ワッチョイ 9fd2-c2qS)
2018/09/17(月) 18:19:02.17ID:GutZ/6rY0 まあ趣味でない限り実用度が学習コストに見合わない感じはあるな
他に比べて
他に比べて
514デフォルトの名無しさん (ワッチョイ 97d4-+ow7)
2018/09/17(月) 18:20:26.64ID:zCVYDMXL0 オブジェクトを1個1個newする?
でかいデータだと大量にnewするオブジェクトだったら配列で1MBとかまとめてnewしないと遅いでしょ
でかいデータだと大量にnewするオブジェクトだったら配列で1MBとかまとめてnewしないと遅いでしょ
515デフォルトの名無しさん (ワッチョイ d707-A9Cx)
2018/09/17(月) 18:42:32.24ID:CEV1V8yd0 メモリ解放にも時間かかるけどそこは計測から外します
都合のいい計測をします
都合のいい計測をします
516デフォルトの名無しさん (ブーイモ MM9b-nprU)
2018/09/17(月) 19:57:02.88ID:HG71i9DfM518デフォルトの名無しさん (ワッチョイ 9fb3-eaiD)
2018/09/17(月) 20:53:22.59ID:tpLtH4DE0 現代の C++ は処理系もライブラリもそれなりに賢いから、任せきりにしてもそれなりの効率になる。
ほとんど任せきりにできる高級言語としての面と、必要なとこは手動で書ける低級言語としての面を合わせ持つのが C++ の強み。
ほとんど任せきりにできる高級言語としての面と、必要なとこは手動で書ける低級言語としての面を合わせ持つのが C++ の強み。
519デフォルトの名無しさん (ワッチョイ 57b3-okpm)
2018/09/17(月) 21:33:50.41ID:YgnM5prK0 >>512
お前は最低でも数万行くらいの規模のコード書いてから偉そうなことを言え
お前は最低でも数万行くらいの規模のコード書いてから偉そうなことを言え
520デフォルトの名無しさん (ワッチョイ ff81-okpm)
2018/09/17(月) 21:40:52.08ID:5VGXhp/T0 最近はC++もスマートポインタが主流で
メモリリークもツールでチェックすると聞いたが
現実はどんなもんなん
メモリリークもツールでチェックすると聞いたが
現実はどんなもんなん
521デフォルトの名無しさん (ワッチョイ 5704-G9Ec)
2018/09/17(月) 22:10:33.50ID:oxQatDsR0 VCには簡易メモリっチェックをするヘッダーがある。もちろん環境依存。
スマポでリークするのはかなり筋が悪い。
スマポでリークするのはかなり筋が悪い。
522デフォルトの名無しさん (ワッチョイ d707-A9Cx)
2018/09/17(月) 22:19:24.01ID:CEV1V8yd0 >>519
それはリークの言い訳にはならんで
それはリークの言い訳にはならんで
523デフォルトの名無しさん (ワッチョイ 9fb3-0AE+)
2018/09/17(月) 22:33:55.31ID:SBpxj18K0 >>519
まあどんな場合でもは言いすぎだと思うが少なくとも正常系ではリークなしを目指すのは当たり前
まあどんな場合でもは言いすぎだと思うが少なくとも正常系ではリークなしを目指すのは当たり前
524デフォルトの名無しさん (ワッチョイ 5704-G9Ec)
2018/09/17(月) 22:36:30.00ID:oxQatDsR0 スマポでリークするケースというと、昔のインターフェースでスマポそのものが渡せないとかかなぁ。。。
希望としてはリファクタリングしてほしいところだけどね。
希望としてはリファクタリングしてほしいところだけどね。
525デフォルトの名無しさん (ワッチョイ 57b3-okpm)
2018/09/17(月) 23:14:55.87ID:YgnM5prK0526デフォルトの名無しさん (ワッチョイ b78a-ahc+)
2018/09/17(月) 23:17:40.96ID:2pCWAXV50 リークしたらヒープエリア毎Destroyすれば良いじゃない
@マリー・アンチョワネット
@マリー・アンチョワネット
527デフォルトの名無しさん (ワッチョイ 57b3-okpm)
2018/09/17(月) 23:28:41.66ID:YgnM5prK0 あぁすまん、正常系について誤解してた
まぁ個人で使うレベルなんじゃないかね、本人が問題にならん言うてるし
まぁ個人で使うレベルなんじゃないかね、本人が問題にならん言うてるし
528デフォルトの名無しさん (ワッチョイ 9fbd-Tlrf)
2018/09/18(火) 00:08:27.62ID:z2qcvEfV0 ウィンドーズにはApplication Verifierがあります!!11!1!
>>521
malloc()とfree()が対応しているかはばっちりワカルのでかなり役に立つが
Win32APIで直接メモリ確保したりC++でメモリアロケータを0から自作した場合はどうなるかわからん…
perfmonで指定プロセスのprivate bytesの推移を取得しつつ長時間動かして直接消費状況を確認するというのがある意味最終手段だが
リークが無い(はずの)プログラムでもなかなか安定しないという印象
多分ユーザーコードからRAIIを排除しても拾ってきたライブラリがRAIIするとかそんな感じ!
>>521
malloc()とfree()が対応しているかはばっちりワカルのでかなり役に立つが
Win32APIで直接メモリ確保したりC++でメモリアロケータを0から自作した場合はどうなるかわからん…
perfmonで指定プロセスのprivate bytesの推移を取得しつつ長時間動かして直接消費状況を確認するというのがある意味最終手段だが
リークが無い(はずの)プログラムでもなかなか安定しないという印象
多分ユーザーコードからRAIIを排除しても拾ってきたライブラリがRAIIするとかそんな感じ!
>>528
グローバル new 演算子
グローバル delete 演算子
を malloc()/free() を使って定義して、かつ、未解放・二重解放を検出するようにポインタを線形リストに格納してチェックする、ということなら、簡単にできます
win32api でも、たとえば heapalloc() をラップすればいいかと
デバッグ初期の単純なミスならこれで大方弾けます
グローバル new 演算子
グローバル delete 演算子
を malloc()/free() を使って定義して、かつ、未解放・二重解放を検出するようにポインタを線形リストに格納してチェックする、ということなら、簡単にできます
win32api でも、たとえば heapalloc() をラップすればいいかと
デバッグ初期の単純なミスならこれで大方弾けます
530デフォルトの名無しさん (ワッチョイ 5704-G9Ec)
2018/09/18(火) 00:18:57.80ID:k3MAuD5K0 >>528
MS製だからWIN32位は拾ってくれると思ってたけど、なんだってー。Orz
俺は末端のユーザだからアロケータ書いたりしないのよね。
特に自作したらメンテとか自分でやんなきゃいけない負債になるのでやりたくないなぁ。
MS製だからWIN32位は拾ってくれると思ってたけど、なんだってー。Orz
俺は末端のユーザだからアロケータ書いたりしないのよね。
特に自作したらメンテとか自分でやんなきゃいけない負債になるのでやりたくないなぁ。
531デフォルトの名無しさん (ワッチョイ 57b3-AfNj)
2018/09/18(火) 01:01:35.82ID:uOah9zOu0 >>530
application verifierはwin32apiをhookしてるよ。
application verifierはwin32apiをhookしてるよ。
532デフォルトの名無しさん (ワッチョイ 9fb3-okpm)
2018/09/18(火) 01:07:33.27ID:7OxZ5HAL0 >>517
コンテナ形式のデータばかりと思うなよ
コンテナ形式のデータばかりと思うなよ
533デフォルトの名無しさん (オイコラミネオ MM6b-qteA)
2018/09/18(火) 01:31:03.51ID:n7K73R0GM hogeはdouble型で
int temp = int(hoge);
if (temp > 0)
return temp;
else
return 0;
このような処理をしたいのですが、何か良さげな内部関数とかないですかね
int temp = int(hoge);
if (temp > 0)
return temp;
else
return 0;
このような処理をしたいのですが、何か良さげな内部関数とかないですかね
534はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-okpm)
2018/09/18(火) 04:24:56.90ID:CgLDhfQ00 >>533
C++17 の std::clamp みたいなことがしたいのかな
C++17 の std::clamp みたいなことがしたいのかな
535デフォルトの名無しさん (ワッチョイ b78a-ahc+)
2018/09/18(火) 04:58:47.12ID:1zYpCWJ70 >>529
ランタイムのソース読んだ事無いの?
ランタイムのソース読んだ事無いの?
536デフォルトの名無しさん (ワッチョイ 7782-Yq0l)
2018/09/18(火) 05:16:37.52ID:bwjvKD0M0 >>533
std::max(0, int(hoge))とか
std::max(0, int(hoge))とか
537デフォルトの名無しさん (ワッチョイ 9f23-x7Ox)
2018/09/18(火) 06:06:39.75ID:mbB60zCK0 >>533
_mm_max_pd とかその辺
_mm_max_pd とかその辺
538デフォルトの名無しさん (ワッチョイ d707-A9Cx)
2018/09/18(火) 06:32:00.57ID:yg1A1NBg0 >>525
それはリークの言い訳にはならんで
それはリークの言い訳にはならんで
539デフォルトの名無しさん (バットンキン MM3b-Jnas)
2018/09/18(火) 06:35:34.10ID:BuheiE4nM アルゴリズムベンチマークなんて長期間稼働するものでもないし、プロセス終わればリークも終わる。
540デフォルトの名無しさん (ワッチョイ 5793-mIvp)
2018/09/18(火) 06:55:51.70ID:1W/tmI+p0 >>533 の言う「内部関数」ってのは、
CPUのマシン語命令を直接利用するビルトイン関数みたいな感じかな。
CPUのマシン語命令を直接利用するビルトイン関数みたいな感じかな。
541デフォルトの名無しさん (ワッチョイ 77d7-okpm)
2018/09/18(火) 09:38:53.59ID:GYwTywmv0 言い訳にならんよな
数万行って具体的な数値を出してきたのは奴だし
数万行って具体的な数値を出してきたのは奴だし
542デフォルトの名無しさん (ワッチョイ 9f12-9b2l)
2018/09/18(火) 09:39:49.43ID:Zf2s67R20 勝手に察すると、単純な話だと思う
彼の把握では、おそらくは次のようになっているハズだ
内部関数=組み込み関数(あらかじめ用意されている標準の関数)
外部関数=自作関数、ユーザ定義関数
真意を勝手に忖度すると、「自作関数を作らずにそのまま使えるような便利な関数は既に存在してはいないだろうか」という質問に見える
彼の把握では、おそらくは次のようになっているハズだ
内部関数=組み込み関数(あらかじめ用意されている標準の関数)
外部関数=自作関数、ユーザ定義関数
真意を勝手に忖度すると、「自作関数を作らずにそのまま使えるような便利な関数は既に存在してはいないだろうか」という質問に見える
543デフォルトの名無しさん (ワッチョイ 77d7-okpm)
2018/09/18(火) 09:40:00.14ID:GYwTywmv0 そもそも行数でどうたらって、いつの時代劇だよ
544デフォルトの名無しさん (ワッチョイ 77d7-okpm)
2018/09/18(火) 09:40:52.00ID:GYwTywmv0545デフォルトの名無しさん (ワッチョイ 5704-G9Ec)
2018/09/18(火) 09:49:04.25ID:k3MAuD5K0 >>531
Yes、OK!
Yes、OK!
546デフォルトの名無しさん (ワッチョイ 5704-G9Ec)
2018/09/18(火) 09:55:26.47ID:k3MAuD5K0 int ookii=...
int tiisai=...
int V=...
int x = std::max(tiisai,std::min(ookii,V));
ってやると、[min,max]区間内のVが取れたような気がする。
今度C++17で入るクランプがそれ。
int tiisai=...
int V=...
int x = std::max(tiisai,std::min(ookii,V));
ってやると、[min,max]区間内のVが取れたような気がする。
今度C++17で入るクランプがそれ。
547デフォルトの名無しさん (ワッチョイ 57b3-okpm)
2018/09/18(火) 11:57:01.55ID:9q1AFd5B0548デフォルトの名無しさん (ワッチョイ 77d7-okpm)
2018/09/18(火) 12:26:58.02ID:GYwTywmv0 車の事故と同じ
起きるときは起きるなんて言い訳は通用しない
まず起こすな
やっちまったら責任とれ
そういう緊張感がいるってことだ
起きるときは起きるなんて言い訳は通用しない
まず起こすな
やっちまったら責任とれ
そういう緊張感がいるってことだ
549533 (オイコラミネオ MM4f-qteA)
2018/09/18(火) 12:44:39.79ID:TXDNyaJKM ありがとうございます
max関数使わせていただきます
もう一つ別の質問なのですが、
2つのベクターの要素(1000個程度)の比較で、同じi番目の要素の内容差が10以上の要素番号(イテレータ?)を調べたいです
この操作は何回も繰り返すので出来るだけ高速化したいのですがなにか良い方法ありませんかね?
ベクターの要素はint型で内容は大体1000以下の整数です
vec1[100] = 100とvec2[100] = 300
vec1[102] = 100とvec2[122] = 300
なら100, 102のイテレータ(この後そのまま新しくforに投げるので)
max関数使わせていただきます
もう一つ別の質問なのですが、
2つのベクターの要素(1000個程度)の比較で、同じi番目の要素の内容差が10以上の要素番号(イテレータ?)を調べたいです
この操作は何回も繰り返すので出来るだけ高速化したいのですがなにか良い方法ありませんかね?
ベクターの要素はint型で内容は大体1000以下の整数です
vec1[100] = 100とvec2[100] = 300
vec1[102] = 100とvec2[122] = 300
なら100, 102のイテレータ(この後そのまま新しくforに投げるので)
550デフォルトの名無しさん (アークセー Sx8b-Jnas)
2018/09/18(火) 13:14:20.96ID:l12yg0eyx551デフォルトの名無しさん (ブーイモ MM9b-ck2F)
2018/09/18(火) 14:20:03.27ID:Gab8FMClM >>549
1000個を例えば4コアで250個ずつ並列化してさらにforの中でn個ずつ比較するとかかな…
intelは
_mm_cmpgt_epi16
armは
vcgt_s16
とかあるみたいだけど
1000個を例えば4コアで250個ずつ並列化してさらにforの中でn個ずつ比較するとかかな…
intelは
_mm_cmpgt_epi16
armは
vcgt_s16
とかあるみたいだけど
552デフォルトの名無しさん (ワントンキン MM7f-ahc+)
2018/09/18(火) 15:33:22.77ID:UQgXz1AkM 普通MPIじゃね?
553はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-okpm)
2018/09/18(火) 16:41:03.37ID:CgLDhfQ00 >>549
新しく for に投げるっていうのがよくわからんのだが、
やりたいことをコードで (C++17 で導入された構造化束縛を使って) 表すと
for (const int& [element1, element2]: extract_if_big_difference(vec1, vec2)) { ほにゃらら }
みたいに書ける関数 extract_if_big_difference が定義できるといいなぁという感じ?
こうだとしたら、並列化するのは難しい気がするぞ。
新しく for に投げるっていうのがよくわからんのだが、
やりたいことをコードで (C++17 で導入された構造化束縛を使って) 表すと
for (const int& [element1, element2]: extract_if_big_difference(vec1, vec2)) { ほにゃらら }
みたいに書ける関数 extract_if_big_difference が定義できるといいなぁという感じ?
こうだとしたら、並列化するのは難しい気がするぞ。
554デフォルトの名無しさん (アークセー Sx8b-Jnas)
2018/09/18(火) 16:42:40.86ID:l12yg0eyx OpenCLでベクトル演算すれば速いんじゃね?
555デフォルトの名無しさん (ワッチョイ 9f12-9b2l)
2018/09/18(火) 16:58:21.90ID:Zf2s67R20 こんなのだと速そうな気がする
vec3 = vec1 - vec2;
filter(vec3, 10, index);
void filter(const vector vec3, const int limit, int index[]){
int j=0;
for(int i=0; i<vec3.size(); i++){
if(vec3[i] >= limit){
index[j++] = i;
}else if(vec3[i] <= -limit){
index[j++] = i;
}
}
index[j] = -1;
return;
}
vec3 = vec1 - vec2;
filter(vec3, 10, index);
void filter(const vector vec3, const int limit, int index[]){
int j=0;
for(int i=0; i<vec3.size(); i++){
if(vec3[i] >= limit){
index[j++] = i;
}else if(vec3[i] <= -limit){
index[j++] = i;
}
}
index[j] = -1;
return;
}
556デフォルトの名無しさん (スップ Sd3f-x7Ox)
2018/09/18(火) 17:05:52.46ID:ZX8OqlLQd データが多いならざっくり N (2〜8)分割して OpenMP とかで並列処理するのがいいよ
数百ミリ秒以上かかるなら他のコアを遊ばせておくのはもったいない
各分割の結果は独立して保持して後で統合する
数百ミリ秒以上かかるなら他のコアを遊ばせておくのはもったいない
各分割の結果は独立して保持して後で統合する
557デフォルトの名無しさん (ワッチョイ 77d7-okpm)
2018/09/18(火) 17:06:36.21ID:GYwTywmv0 >>549
vectorじゃなくvalarrayだが。。。
int main()
{
int const n = 10; //おまえさんのリクは 1000 だったな
//このへん前置きは置いといて
mt19937 eng;
random_device dev;
eng.seed(dev());
uniform_int_distribution<int> dis(-20, 20);
auto rnd = [&eng, &dis]() { return dis(eng); };
auto print = [](auto& ct) { for(auto& x : ct) cout << x << '\t'; cout << endl; };
valarray<int> vec1(n);
generate(begin(vec1), end(vec1), rnd);
print(vec1);
valarray<int> vec2(n);
generate(begin(vec2), end(vec2), rnd);
print(vec2);
cout << endl;
//ここが本題
valarray<bool> mask = abs(vec1 - vec2) >= 10;
vec1[!mask] = 0;
vec2[!mask] = 0;
print(vec1);
print(vec2);
}
差が10以上のところを探して何か処理ならこっちのが楽だべ
vectorじゃなくvalarrayだが。。。
int main()
{
int const n = 10; //おまえさんのリクは 1000 だったな
//このへん前置きは置いといて
mt19937 eng;
random_device dev;
eng.seed(dev());
uniform_int_distribution<int> dis(-20, 20);
auto rnd = [&eng, &dis]() { return dis(eng); };
auto print = [](auto& ct) { for(auto& x : ct) cout << x << '\t'; cout << endl; };
valarray<int> vec1(n);
generate(begin(vec1), end(vec1), rnd);
print(vec1);
valarray<int> vec2(n);
generate(begin(vec2), end(vec2), rnd);
print(vec2);
cout << endl;
//ここが本題
valarray<bool> mask = abs(vec1 - vec2) >= 10;
vec1[!mask] = 0;
vec2[!mask] = 0;
print(vec1);
print(vec2);
}
差が10以上のところを探して何か処理ならこっちのが楽だべ
558デフォルトの名無しさん (アウアウウー Sa1b-EMso)
2018/09/18(火) 18:11:51.89ID:H2d9f0sTa559デフォルトの名無しさん (オッペケ Sr8b-+tGE)
2018/09/18(火) 18:32:34.48ID:RR2nvfojr boost の multi_array ってさ、添字の入れ替えってできる?
例えば要素 a[i][j][k] を a[k][i][j] に、全ての i, j, k について入れ替える操作
自分で実装しなきゃ駄目?
例えば要素 a[i][j][k] を a[k][i][j] に、全ての i, j, k について入れ替える操作
自分で実装しなきゃ駄目?
560デフォルトの名無しさん (ワッチョイ 9780-9b2l)
2018/09/18(火) 23:03:47.37ID:oE0uJFU60 boostみたいなインチキくさいライブラリは使ったことないが
オレだったらイチイチそんなムダな入れ替えが本当に必要なのかと
まずそこを疑う
オレだったらイチイチそんなムダな入れ替えが本当に必要なのかと
まずそこを疑う
561デフォルトの名無しさん (ワッチョイ d707-A9Cx)
2018/09/18(火) 23:14:12.21ID:yg1A1NBg0 行列でそんな演算あったような
562デフォルトの名無しさん (オッペケ Sr8b-+tGE)
2018/09/18(火) 23:30:40.91ID:GKhblNvIr563デフォルトの名無しさん (ワッチョイ ff5b-ck2F)
2018/09/18(火) 23:35:47.30ID:Re9liTgW0 できた!
template<typename T>
class MyMatrix3D : Matrix3D {
...
virtual T get(size_t i, size_t j, size_t k) {
return get(k, i, j);
}
...
};
template<typename T>
class MyMatrix3D : Matrix3D {
...
virtual T get(size_t i, size_t j, size_t k) {
return get(k, i, j);
}
...
};
564デフォルトの名無しさん (スッップ Sdbf-x7Ox)
2018/09/18(火) 23:43:07.71ID:G/V6WyhFd stack overflow
565デフォルトの名無しさん (ワッチョイ ff5b-DF3W)
2018/09/19(水) 00:26:11.52ID:McwJY1yY0 わ、わざとだから!
566デフォルトの名無しさん (ワッチョイ 9fbd-Tlrf)
2018/09/19(水) 00:33:47.86ID:dEko0zDA0 boostとか漏れも使ったことないわ(゚∀゚)人(゚∀゚)ナカーマ
567デフォルトの名無しさん (ワッチョイ 37c3-A6n1)
2018/09/19(水) 04:24:37.15ID:2wyJ7zTj0 boostはbjamが糞すぎて入れるのめんどくさくなっちゃった
568533,549 (オイコラミネオ MMc9-TpIz)
2018/09/20(木) 03:07:15.61ID:fZtZJGAwM 遅くなってすみません
処理が重くなったのは別の部分のせいでした…
Python的考えで5桁くらいインデントしてたので勝手に遅いと思ってましたが普通に高速でした
お騒がせしました
処理が重くなったのは別の部分のせいでした…
Python的考えで5桁くらいインデントしてたので勝手に遅いと思ってましたが普通に高速でした
お騒がせしました
569デフォルトの名無しさん (ワッチョイ 01b3-coYL)
2018/09/20(木) 13:40:29.54ID:CPfoYuVJ0570デフォルトの名無しさん (ワッチョイ c980-yqSl)
2018/09/20(木) 21:36:12.15ID:zLqp8E230 低学歴知恵遅れなら
1回ループするのに1分かかるようなコードを書きかねない
1回ループするのに1分かかるようなコードを書きかねない
571デフォルトの名無しさん (ワッチョイ 42bd-LgAV)
2018/09/21(金) 00:16:00.80ID:4kzBlK6i0 再帰使ってみたが1分かからんかった
ゆ、許された…
ttps://ideone.com/kHFd61
ゆ、許された…
ttps://ideone.com/kHFd61
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★5 [BFU★]
- 「母の部屋に安倍氏が表紙の機関誌が」「(安倍氏が被害者なのは)不思議に思いませんでした」山上被告の妹が証言 [おっさん友の会★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
