次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part129
http://echo.2ch.net/test/read.cgi/tech/1483940967/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.100【環境依存OK】
http://echo.2ch.net/test/read.cgi/tech/1478440682/
■長いソースを貼るときはここへ。■
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++相談室 part130 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ f37a-QmV0)
2017/03/31(金) 08:47:49.65ID:UkLjKqcm0686デフォルトの名無しさん (ワッチョイ d796-rvkC)
2017/07/11(火) 19:17:50.67ID:dG3xud1d0 みなさんが複雑すぎて糞と言われるC++を使う理由を教えて下さい。
687デフォルトの名無しさん (ワンミングク MM7f-hrVG)
2017/07/11(火) 19:37:55.48ID:FP4c/tWpM688デフォルトの名無しさん (スップ Sd3f-nGAm)
2017/07/11(火) 19:40:41.20ID:DqTb1LDQd >>686
言われるほど複雑じゃないから
言われるほど複雑じゃないから
689デフォルトの名無しさん (ワッチョイ bfe4-LW8t)
2017/07/11(火) 19:43:55.52ID:7V5lebao0 >>686
複雑すぎではないし糞でもないから
複雑すぎではないし糞でもないから
690デフォルトの名無しさん (ワッチョイ bfaf-VFUi)
2017/07/11(火) 19:45:13.43ID:YnoqV4V50 SDKがC++しかなくて仕方なく・・・
691デフォルトの名無しさん (ドコグロ MM2b-d65a)
2017/07/11(火) 20:21:24.75ID:Wcul0TB2M ネイティブコードを吐けるオブジェクト指向言語でメジャーな奴は C++ ぐらいしかないし
692デフォルトの名無しさん (ワッチョイ d796-rvkC)
2017/07/11(火) 21:14:29.35ID:dG3xud1d0 二人は複雑じゃないもん
二人は仕方なし
二人は仕方なし
693デフォルトの名無しさん (ワッチョイ 9f89-EAWM)
2017/07/11(火) 21:42:20.62ID:VLYeJXw20 いちばん使い慣れていて、使い勝手の良い道具だから。
694デフォルトの名無しさん (ワッチョイ d79a-0UkT)
2017/07/11(火) 22:06:48.92ID:qjau/h5c0 複雑だが糞ではない
695デフォルトの名無しさん (ドコグロ MMbf-rPCP)
2017/07/11(火) 22:11:10.23ID:mCNEANh4M696デフォルトの名無しさん (スップ Sd3f-nGAm)
2017/07/11(火) 22:18:58.63ID:DqTb1LDQd697デフォルトの名無しさん (ワッチョイ bfe4-LW8t)
2017/07/11(火) 22:30:22.09ID:7V5lebao0698デフォルトの名無しさん (ドコグロ MMbf-rPCP)
2017/07/11(火) 22:35:06.05ID:mCNEANh4M699デフォルトの名無しさん (ワッチョイ 176f-zXdO)
2017/07/11(火) 22:35:38.41ID:jUUyBjmf0 ビットローテーションについての相談です
今やりたいことは128文字の文字列を暗号化したい
その中で4バイトごとに区切って、4バイトごとにビットローテーションして暗号化を考えている
それの実現方法で悩んでいます
想定では右シフト
char a[128] = 文字列;
int x = a[0] << 24 + a[1] << 16 + a[2] << 8 + a[3];
// 下位2bitを上位2bitでtmp作成
int tmp = a[3] << 30;
x = x >> 2 + tmp;
これを繰り返す。
こんな感じのを考えたのだけどもっと良い方法はあるだろうか?
今やりたいことは128文字の文字列を暗号化したい
その中で4バイトごとに区切って、4バイトごとにビットローテーションして暗号化を考えている
それの実現方法で悩んでいます
想定では右シフト
char a[128] = 文字列;
int x = a[0] << 24 + a[1] << 16 + a[2] << 8 + a[3];
// 下位2bitを上位2bitでtmp作成
int tmp = a[3] << 30;
x = x >> 2 + tmp;
これを繰り返す。
こんな感じのを考えたのだけどもっと良い方法はあるだろうか?
700デフォルトの名無しさん (ワッチョイ d79a-0UkT)
2017/07/11(火) 22:42:18.86ID:qjau/h5c0 環境依存で良いなら色々と思い付く
とりあえず、<<より+の方が優先度が高いので()を付けないと
| なら()は不要
コストは多分ほとんどの環境で同じ
8086とかだと | の方が速かったり
とりあえず、<<より+の方が優先度が高いので()を付けないと
| なら()は不要
コストは多分ほとんどの環境で同じ
8086とかだと | の方が速かったり
701片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdbf-R88v)
2017/07/11(火) 22:43:45.50ID:7IW2GOwZd >>699
数学や計算機科学を知らない素人が暗号化方式を考えるのは、おそらく無駄であり、出来たとしてもすぐハッキングされてしまう。
暗号化方式は、先人の研究によって評価されている手法を使うのが一般的。より良い暗号化方式を
考えるのは計算機科学者の仕事であり、プログラマーはその手法をプログラムに取り入れるだけだ。
数学や計算機科学を知らない素人が暗号化方式を考えるのは、おそらく無駄であり、出来たとしてもすぐハッキングされてしまう。
暗号化方式は、先人の研究によって評価されている手法を使うのが一般的。より良い暗号化方式を
考えるのは計算機科学者の仕事であり、プログラマーはその手法をプログラムに取り入れるだけだ。
702デフォルトの名無しさん (ワッチョイ d79a-0UkT)
2017/07/11(火) 22:45:09.93ID:qjau/h5c0 どっちみち>>699の時点で環境依存だ
703デフォルトの名無しさん (ワッチョイ d79a-0UkT)
2017/07/11(火) 22:46:16.83ID:qjau/h5c0704デフォルトの名無しさん (ワッチョイ bfaa-rPCP)
2017/07/11(火) 23:06:53.51ID:01bGuLEG0 >>703
家の鍵を素人が作るのは意味ない。
家の鍵を素人が作るのは意味ない。
705デフォルトの名無しさん (ワッチョイ 9f89-EAWM)
2017/07/11(火) 23:17:01.14ID:VLYeJXw20 質問者の目的が言語の学習とか、ちょっとしたテキストの難読化なのかもしれないのに、
外野が憶測で否定したり変な方向で議論を展開したり…。
相談室なのだから、もうちっと質問者の為になる話の流れにならないかなと思う。
外野が憶測で否定したり変な方向で議論を展開したり…。
相談室なのだから、もうちっと質問者の為になる話の流れにならないかなと思う。
706デフォルトの名無しさん (ワッチョイ bfe4-LW8t)
2017/07/11(火) 23:17:54.39ID:7V5lebao0707デフォルトの名無しさん (ワッチョイ 176f-zXdO)
2017/07/11(火) 23:21:49.34ID:jUUyBjmf0 >>705さんの言うとおりにテキストの難読化が目的です
bit演算に触れてみるのにちょっとした暗号化が良いレベルなのかなって思ってチャレンジしているところ
やっぱり演算子の優先度とかで注意点あるね
環境依存するのかな?この方法
bit演算に触れてみるのにちょっとした暗号化が良いレベルなのかなって思ってチャレンジしているところ
やっぱり演算子の優先度とかで注意点あるね
環境依存するのかな?この方法
708デフォルトの名無しさん (ワッチョイ 176f-zXdO)
2017/07/11(火) 23:23:13.79ID:jUUyBjmf0709デフォルトの名無しさん (オッペケ Srcb-sNxi)
2017/07/11(火) 23:33:54.38ID:L5b0rMHKr >環境依存するのかな?
むしろこのコードで動く環境が珍しいような
むしろこのコードで動く環境が珍しいような
710デフォルトの名無しさん (ワッチョイ 9f89-EAWM)
2017/07/11(火) 23:45:11.34ID:VLYeJXw20 char型が負数を表すかが環境依存。
負数を左シフトした結果が環境依存。
だからunsigned型の変数を使う。
負数を左シフトした結果が負数だったとして、それを加算したら想定してた結果にならないから、加算ではなくビットORを使う。
負数を左シフトした結果が環境依存。
だからunsigned型の変数を使う。
負数を左シフトした結果が負数だったとして、それを加算したら想定してた結果にならないから、加算ではなくビットORを使う。
711デフォルトの名無しさん (ワッチョイ bfe4-LW8t)
2017/07/11(火) 23:50:08.05ID:7V5lebao0 思いつきで変な暗号作るより検索するなりしてまともな基礎的なアルゴリズムを実装したほうが勉強になる
712デフォルトの名無しさん (スップ Sd3f-nSBM)
2017/07/11(火) 23:55:54.87ID:KCPaJcrVd 文盲多すぎね?
bit演算をやる方法を学びたい的な雰囲気なのに暗号作る方をメインに読み取ってるやつおおくね?
しかもレスもあったあとなのに
bit演算をやる方法を学びたい的な雰囲気なのに暗号作る方をメインに読み取ってるやつおおくね?
しかもレスもあったあとなのに
713デフォルトの名無しさん (ワッチョイ 176f-zXdO)
2017/07/11(火) 23:59:49.23ID:jUUyBjmf0714デフォルトの名無しさん (オッペケ Srcb-sNxi)
2017/07/12(水) 00:01:29.72ID:XspFYFk7r715デフォルトの名無しさん (ワッチョイ bfe4-LW8t)
2017/07/12(水) 00:04:15.65ID:WTh+eJgx0716デフォルトの名無しさん (スップ Sd3f-nSBM)
2017/07/12(水) 00:06:40.65ID:vUTYJqrrd717はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 9f15-rvkC)
2017/07/12(水) 00:15:27.23ID:trGyb9bp0 >>713
単に int と書いたら signed int と書いたのと同じ意味になるからよく誤解されるんだけど、
char は signed char でも unsigned char でもない固有の型なんだよ。
オーバーロードで試してみたらすぐわかる。
表現できる範囲は signed char か unsigned char のどちらかと同じではあるけど、
どちらかは処理系が選択していい。
処理系によってはオプションで変えられる場合もある。
単に int と書いたら signed int と書いたのと同じ意味になるからよく誤解されるんだけど、
char は signed char でも unsigned char でもない固有の型なんだよ。
オーバーロードで試してみたらすぐわかる。
表現できる範囲は signed char か unsigned char のどちらかと同じではあるけど、
どちらかは処理系が選択していい。
処理系によってはオプションで変えられる場合もある。
718片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdbf-R88v)
2017/07/12(水) 00:22:30.14ID:mvEs3lAId #include <cstdint>
unsigned char a[128];
...
unsigned char prev4bits = (a[128 - 1] >> 4);
for (int i = 0; i < 128 - 1; i++) {
unsigned char b = (a[i] >> 4);
a[i] <<= 4;
a[i] |= prev4bits;
prev4broken = b;
}
unsigned char a[128];
...
unsigned char prev4bits = (a[128 - 1] >> 4);
for (int i = 0; i < 128 - 1; i++) {
unsigned char b = (a[i] >> 4);
a[i] <<= 4;
a[i] |= prev4bits;
prev4broken = b;
}
719片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdbf-R88v)
2017/07/12(水) 00:29:02.98ID:mvEs3lAId >>718
訂正。
#define NUM_BYTES 123
unsigned char a[NUM_BYTES];
...
unsigned char prev4bits = (a[NUM_BYTES - 1] >> 4);
for (int i = 0; i < NUM_BYTES; i++) {
unsigned char b = (a[i] >> 4);
a[i] <<= 4;
a[i] |= prev4bits;
prev4bits = b;
}
訂正。
#define NUM_BYTES 123
unsigned char a[NUM_BYTES];
...
unsigned char prev4bits = (a[NUM_BYTES - 1] >> 4);
for (int i = 0; i < NUM_BYTES; i++) {
unsigned char b = (a[i] >> 4);
a[i] <<= 4;
a[i] |= prev4bits;
prev4bits = b;
}
720片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdbf-R88v)
2017/07/12(水) 00:42:16.50ID:mvEs3lAId あるいは
#define NUM_BYTES 128
unsigned char a[NUM_BYTES];
...
unsigned char prev4bits = (a[NUM_BYTES - 1] >> 4);
for (int i = 0; i < NUM_BYTES / sizeof(int); i++) {
unsigned char b = (a[(i + 1) * sizeof(int) - 1] >> 4);
((int *)a)[i] <<= 4;
a[i * sizeof(int)] |= prev4bits;
prev4bits = b;
}
#define NUM_BYTES 128
unsigned char a[NUM_BYTES];
...
unsigned char prev4bits = (a[NUM_BYTES - 1] >> 4);
for (int i = 0; i < NUM_BYTES / sizeof(int); i++) {
unsigned char b = (a[(i + 1) * sizeof(int) - 1] >> 4);
((int *)a)[i] <<= 4;
a[i * sizeof(int)] |= prev4bits;
prev4bits = b;
}
721片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdbf-R88v)
2017/07/12(水) 00:46:41.27ID:mvEs3lAId >>720
訂正。
#define NUM_BYTES 128
unsigned char a[NUM_BYTES];
...
unsigned char prev4bits = (a[NUM_BYTES - 1] >> 4);
for (int i = 0; i < NUM_BYTES / sizeof(unsigned int); i++) {
>unsigned char b = (a[(i + 1) * sizeof(unsigned int) - 1] >> 4);
((unsigned int *)a)[i] <<= 4;
a[i * sizeof(unsigned int)] |= prev4bits;
prev4bits = b;
}
訂正。
#define NUM_BYTES 128
unsigned char a[NUM_BYTES];
...
unsigned char prev4bits = (a[NUM_BYTES - 1] >> 4);
for (int i = 0; i < NUM_BYTES / sizeof(unsigned int); i++) {
>unsigned char b = (a[(i + 1) * sizeof(unsigned int) - 1] >> 4);
((unsigned int *)a)[i] <<= 4;
a[i * sizeof(unsigned int)] |= prev4bits;
prev4bits = b;
}
722デフォルトの名無しさん (ワッチョイ 9f8f-gRQY)
2017/07/12(水) 01:19:28.71ID:L1I2nS9y0 >>710
負数を左シフトしても問題ないだろ
負数を左シフトしても問題ないだろ
723デフォルトの名無しさん (ワッチョイ 9f8f-gRQY)
2017/07/12(水) 01:21:26.50ID:L1I2nS9y0 ああ、元の式を見てなかった
まさか足し算してるとは…
そのまま符号付きで使うことを意図してたら、確かに問題だな
まさか足し算してるとは…
そのまま符号付きで使うことを意図してたら、確かに問題だな
724デフォルトの名無しさん (ワッチョイ ffaa-PX3H)
2017/07/12(水) 05:56:30.63ID:HQm2gXhD0 LLVM, MISRA-Cでも決められているけど、
int, char など、処理系依存の型は使うな。
必ず、ビット数・符号の有無を明示すること
unsigned char
unsigned int32
int, char など、処理系依存の型は使うな。
必ず、ビット数・符号の有無を明示すること
unsigned char
unsigned int32
725デフォルトの名無しさん (ワッチョイ d79a-0UkT)
2017/07/12(水) 06:25:07.29ID:Mf+sZV2C0726デフォルトの名無しさん (ワッチョイ d79a-0UkT)
2017/07/12(水) 06:33:18.90ID:Mf+sZV2C0727デフォルトの名無しさん (スップ Sd3f-nGAm)
2017/07/12(水) 06:33:41.93ID:7DtiXvdjd728デフォルトの名無しさん (ワッチョイ 9709-8gU5)
2017/07/12(水) 06:35:07.19ID:DgqX1C+L0 C++はそろそろbyte型が入るよ。
多分エーリアスだけどね。
多分エーリアスだけどね。
729デフォルトの名無しさん (ワッチョイ d79a-0UkT)
2017/07/12(水) 06:38:05.27ID:Mf+sZV2C0 unsigned int x = (unsigned int)a[0] << 24 | (unsigned int)a[1] << 16 | (unsigned int)a[2] << 8 | (unsigned int)a[3];
x = x << 30 | x >> 2;
互換性と簡潔さのバランスで、こんな感じじゃない?
unsigned intが32bit
charが8bit
限定
x = x << 30 | x >> 2;
互換性と簡潔さのバランスで、こんな感じじゃない?
unsigned intが32bit
charが8bit
限定
730デフォルトの名無しさん (ワッチョイ d79a-0UkT)
2017/07/12(水) 06:44:26.17ID:Mf+sZV2C0 もうちょっと簡潔さ重視だと、キャスト無しで
731デフォルトの名無しさん (ワッチョイ d79a-0UkT)
2017/07/12(水) 06:50:51.01ID:Mf+sZV2C0 バリバリ環境依存で速度重視なら
intrinsicでAVX2やAVX512とか
インラインアセンブラはこのスレ的には反則?
intrinsicでAVX2やAVX512とか
インラインアセンブラはこのスレ的には反則?
>>724
かならずしも賛同できない、必要なときに unsigned/signed を指定すればいいのでは?
かならずしも賛同できない、必要なときに unsigned/signed を指定すればいいのでは?
733デフォルトの名無しさん (ワッチョイ 9709-8gU5)
2017/07/12(水) 07:31:30.65ID:DgqX1C+L0 cstdintを使おう。
>>731
インラインで自由にかけてこそのC/C++ だと思うんだが、最近は嫌われるみたいだね
インラインで自由にかけてこそのC/C++ だと思うんだが、最近は嫌われるみたいだね
735デフォルトの名無しさん (オッペケ Srcb-sNxi)
2017/07/12(水) 07:59:55.87ID:SNfdy8Tor MISRAさんパネェな
for (int = 0;i <= n; i++) // きんし!
X operator ++(int); // きんし!
int main() {} // きんし!
for (int = 0;i <= n; i++) // きんし!
X operator ++(int); // きんし!
int main() {} // きんし!
736デフォルトの名無しさん (スップ Sd3f-nSBM)
2017/07/12(水) 08:23:54.55ID:vUTYJqrrd737デフォルトの名無しさん (ワッチョイ bfe4-LW8t)
2017/07/12(水) 08:47:06.94ID:WTh+eJgx0 バイト単位で回転させるだけならstd::rotateやstd::copyでいい
738デフォルトの名無しさん (ワッチョイ 1706-pw7F)
2017/07/12(水) 10:52:11.36ID:QOR+1nCC0 自作クラスで他の自作クラスのインスタンスのコレクションを返すメソッドを追加したい
のですがクラス設計ってどうすればいいでしょうか??ガチガチの最適化?まではしなくていいので
普通ぐらいの最適化?ぐらいでOKです。
public:
std::shared_ptr<std::vector<std::shared_ptr<CMyClass>>> EnumeateMyClasses()
こんな感じで設計すればいいでしょうか?
C#なら
IEnumerable<CMyClass> EnumeateMyClasses()
とかにするんですが
のですがクラス設計ってどうすればいいでしょうか??ガチガチの最適化?まではしなくていいので
普通ぐらいの最適化?ぐらいでOKです。
public:
std::shared_ptr<std::vector<std::shared_ptr<CMyClass>>> EnumeateMyClasses()
こんな感じで設計すればいいでしょうか?
C#なら
IEnumerable<CMyClass> EnumeateMyClasses()
とかにするんですが
739デフォルトの名無しさん (ワッチョイ 9709-8gU5)
2017/07/12(水) 11:12:35.14ID:DgqX1C+L0 返したものをどこら辺まで使うんやろ。
たらい回しにするんだったら、スマポでも良いけど、一時でやるんだったらこんすと参照でも良いし。
でも、内部で持ってるものを外でたらい回しにされるのは気持ち悪いな。
たらい回しにするんだったら、スマポでも良いけど、一時でやるんだったらこんすと参照でも良いし。
でも、内部で持ってるものを外でたらい回しにされるのは気持ち悪いな。
740デフォルトの名無しさん (ワッチョイ 1706-pw7F)
2017/07/12(水) 11:30:49.11ID:QOR+1nCC0 Enumerateメソッドは内部ではインスタンス作りますが、内部でその参照を保持することは
ないですね、メソッド内で作って呼び出し元に返すだけです。
どれくらいたらい回すかは使う側次第です。
>たらい回しにするんだったら、スマポでも良いけど、一時でやるんだったらこんすと参照でも良いし
こんすと参照とかもあるんですか・・
まぁ、先ほども書いたようにC++に深入りすると死にそうなので、
とりあえず、C#erの人がちょっと毛が生えた程度でC++を使うレベルでいいので。
ないですね、メソッド内で作って呼び出し元に返すだけです。
どれくらいたらい回すかは使う側次第です。
>たらい回しにするんだったら、スマポでも良いけど、一時でやるんだったらこんすと参照でも良いし
こんすと参照とかもあるんですか・・
まぁ、先ほども書いたようにC++に深入りすると死にそうなので、
とりあえず、C#erの人がちょっと毛が生えた程度でC++を使うレベルでいいので。
741デフォルトの名無しさん (ワッチョイ 9709-8gU5)
2017/07/12(水) 11:34:33.27ID:DgqX1C+L0742デフォルトの名無しさん (ワッチョイ bfe4-LW8t)
2017/07/12(水) 12:51:39.26ID:WTh+eJgx0743デフォルトの名無しさん (スプッッ Sd3f-nGAm)
2017/07/12(水) 13:59:49.69ID:HO+tEfFId うん、ただvectorを返せばいいと思うけど
744デフォルトの名無しさん (ワッチョイ 1706-pw7F)
2017/07/12(水) 14:16:55.03ID:QOR+1nCC0 あれ、そうなんですか??
ムズイな・・
vector自体を返しても、要素自体はコピー?されないってことですかね?
ぐぉぉぉ。
ムズイな・・
vector自体を返しても、要素自体はコピー?されないってことですかね?
ぐぉぉぉ。
745デフォルトの名無しさん (スップ Sd3f-nSBM)
2017/07/12(水) 14:31:08.44ID:vUTYJqrrd なんでキャラ配列では終端文字を意識して
他の型の配列では意識しないんだぜ
他の型の配列では意識しないんだぜ
746はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 9f15-rvkC)
2017/07/12(水) 14:43:06.63ID:trGyb9bp0 >>744
RVO やムーブによってコピーが抑制される。
従来の RVO は「してもよい」という、
省略による最適化を許す形で規定されていたが C++17 からは必須になってるので、
条件がそろえば確実にコピーはされないことが保証される。
RVO やムーブによってコピーが抑制される。
従来の RVO は「してもよい」という、
省略による最適化を許す形で規定されていたが C++17 からは必須になってるので、
条件がそろえば確実にコピーはされないことが保証される。
747デフォルトの名無しさん (スプッッ Sd3f-nGAm)
2017/07/12(水) 15:24:37.86ID:HO+tEfFId748デフォルトの名無しさん (ワッチョイ bfe4-LW8t)
2017/07/12(水) 19:23:12.64ID:WTh+eJgx0 >>744
C++で値の代入にはコピーとムーブの2種類がある
ムーブは代入先に中身を移譲する機能
ムーブ元はムーブ前と後とで同一であるとは保障されない
具体的には定義したムーブコンストラクタとムーブ代入演算子に記述したコードが実行される
vectorの場合ムーブされると内部の配列のポインタを代入先のvectorの配列のポインタに付け替える
こうすることで中身をコピーせずポインタの代入だけで他のvectorに移し変えることができる
ローカル変数など関数のスコープを抜けたら自動的に開放されて二度と使われない変数を戻り値にした場合、コピーしているように見えても自動的ムーブが選ばれている
C++で値の代入にはコピーとムーブの2種類がある
ムーブは代入先に中身を移譲する機能
ムーブ元はムーブ前と後とで同一であるとは保障されない
具体的には定義したムーブコンストラクタとムーブ代入演算子に記述したコードが実行される
vectorの場合ムーブされると内部の配列のポインタを代入先のvectorの配列のポインタに付け替える
こうすることで中身をコピーせずポインタの代入だけで他のvectorに移し変えることができる
ローカル変数など関数のスコープを抜けたら自動的に開放されて二度と使われない変数を戻り値にした場合、コピーしているように見えても自動的ムーブが選ばれている
749デフォルトの名無しさん (ワントンキン MM7f-hrVG)
2017/07/12(水) 21:17:08.54ID:AocYxtQtM750デフォルトの名無しさん (ワッチョイ bfe4-LW8t)
2017/07/12(水) 22:04:13.96ID:WTh+eJgx0 >>749
正しくは変数の初期化の式で呼び出した場合は直接構築になりそれ以外ではムーブになるでした
正しくは変数の初期化の式で呼び出した場合は直接構築になりそれ以外ではムーブになるでした
751デフォルトの名無しさん (オッペケ Srcb-sNxi)
2017/07/12(水) 22:10:13.78ID:SNfdy8Tor >>750
それは規格のどこに書いてあるのですか?
それは規格のどこに書いてあるのですか?
752デフォルトの名無しさん (ワッチョイ bfe4-LW8t)
2017/07/12(水) 22:34:27.41ID:WTh+eJgx0 >>751
規格厨じゃないから知りません
規格厨じゃないから知りません
753デフォルトの名無しさん (オッペケ Srcb-sNxi)
2017/07/12(水) 22:35:41.04ID:SNfdy8Tor なるほどこうやってデタラメが吹聴されて世の中が嘘だらけになるのだな
754デフォルトの名無しさん (ワッチョイ bfe4-LW8t)
2017/07/12(水) 22:42:26.18ID:WTh+eJgx0 >>753
何の引用も無しに書いた文章なんて嘘まみれに決まってるだろ
何の引用も無しに書いた文章なんて嘘まみれに決まってるだろ
755デフォルトの名無しさん (スップ Sd3f-nSBM)
2017/07/12(水) 23:21:39.63ID:vUTYJqrrd 上の方にあるbitいじりの件ってわざわざint型に演算していれ直す必要もなくね?って思い始めた
charの先頭文字をint*に直して操作するのじゃダメなんか??
charの先頭文字をint*に直して操作するのじゃダメなんか??
756デフォルトの名無しさん (ワッチョイ 9f89-EAWM)
2017/07/12(水) 23:36:27.73ID:cPl7Kb1c0757デフォルトの名無しさん (ワッチョイ 6e9a-YkGU)
2017/07/13(木) 06:46:33.90ID:lX8cJUTX0758デフォルトの名無しさん (ワッチョイ 321b-HOJV)
2017/07/13(木) 06:48:27.63ID:Yj3E6QQW0 >>699
C++の規格ではいつまでたってもビットローテーション入れてこないからな。
だが、ビットしシフトで処理するのが速いか、いったん配列にいれたほうが速いか、
両方作って確認した方がいいぞ。
バレルシフタ載ってるMPUじゃないとビットシフトが結構重かったりする
C++の規格ではいつまでたってもビットローテーション入れてこないからな。
だが、ビットしシフトで処理するのが速いか、いったん配列にいれたほうが速いか、
両方作って確認した方がいいぞ。
バレルシフタ載ってるMPUじゃないとビットシフトが結構重かったりする
759デフォルトの名無しさん (ワッチョイ 6e9a-YkGU)
2017/07/13(木) 07:03:23.04ID:lX8cJUTX0 > ビットしシフトで処理するのが速いか、いったん配列にいれたほうが速いか、
意味不明
ローテーションは後半だぞ
前半はただ単にintにロードしてるだけ
なぜかビッグエンディアン形式で
環境はSHか何か?
意味不明
ローテーションは後半だぞ
前半はただ単にintにロードしてるだけ
なぜかビッグエンディアン形式で
環境はSHか何か?
760デフォルトの名無しさん (ワッチョイ 6e9a-YkGU)
2017/07/13(木) 07:05:59.44ID:lX8cJUTX0 C++にローテーションなんか入れなくて良い
使う機会も少ないし、簡単にC++に表記できるし
他に増やしたいものは色々ある
そっち優先で
使う機会も少ないし、簡単にC++に表記できるし
他に増やしたいものは色々ある
そっち優先で
761デフォルトの名無しさん (スプッッ Sd9e-y/ao)
2017/07/13(木) 08:50:42.40ID:g1X/OFssd まるで開発資源が足りてないかのような言い分
762デフォルトの名無しさん (ドコグロ MM36-OTuW)
2017/07/13(木) 12:50:51.77ID:EiZFhTPMM 理解するための俺の頭の資源は有限
763デフォルトの名無しさん (スッップ Sd70-YkGU)
2017/07/13(木) 13:23:34.41ID:b1PvI/zld764デフォルトの名無しさん (ワッチョイ b2e4-vU4W)
2017/07/13(木) 19:02:52.17ID:oXf/mLI10 boostのdynamic_bitsetにバイト列との相互変換機能とバイトオーダーを切り替えられる機能と範囲を切り出せる機能を追加したものを標準に入れるべき
765デフォルトの名無しさん (ワッチョイ baf0-z+eH)
2017/07/13(木) 19:48:54.11ID:XkT7ManS0 FFTで使うビット逆転も仲間に入れてよ
766デフォルトの名無しさん (ワッチョイ 6e9a-YkGU)
2017/07/13(木) 20:46:05.57ID:lX8cJUTX0 >>765
ビット演算のテクニックの基本とかに載ってそう
ビット演算のテクニックの基本とかに載ってそう
767デフォルトの名無しさん (ワッチョイ 469f-wtyE)
2017/07/13(木) 21:06:39.82ID:RqiuYpPc0 ファストフーリエトランスファーの良い参考文献ないっすかね
768デフォルトの名無しさん (ワッチョイ 6e9a-YkGU)
2017/07/13(木) 21:20:53.50ID:lX8cJUTX0 おれ専門家だから何でも聞いて
769はちみつ餃子 ◆8X2XSCHEME (ワッチョイ d015-S4qQ)
2017/07/13(木) 21:21:33.62ID:anRp6w5D0 まずは Wikipedia から
771デフォルトの名無しさん (ワッチョイ 6e9a-YkGU)
2017/07/13(木) 21:27:47.04ID:lX8cJUTX0 そうだね
基礎から教えるつもりはない
応用、テクニック、実装方法、高速化、AVX512の使い方、キャッシュサイズによる最適化、HDDを使った場合の並べかえ方法、...
など具体的に聞いてくれれば
基礎から教えるつもりはない
応用、テクニック、実装方法、高速化、AVX512の使い方、キャッシュサイズによる最適化、HDDを使った場合の並べかえ方法、...
など具体的に聞いてくれれば
772デフォルトの名無しさん (ワッチョイ 469f-wtyE)
2017/07/13(木) 21:34:36.15ID:RqiuYpPc0 やりたいことはリアルタイムオシロですかね
ビジュアル的に表示出来ることから始めて
最終的にはArduinoで周波数検波器作りたいかも
ビジュアル的に表示出来ることから始めて
最終的にはArduinoで周波数検波器作りたいかも
773デフォルトの名無しさん (ワッチョイ 469f-wtyE)
2017/07/13(木) 21:38:11.93ID:RqiuYpPc0774デフォルトの名無しさん (ワッチョイ 321b-HOJV)
2017/07/14(金) 06:45:45.62ID:JUkrjA2t0 >>759
バレルシフタが何かわからんアホはすっこんでろ
バレルシフタが何かわからんアホはすっこんでろ
775デフォルトの名無しさん (ワッチョイ 6e9a-YkGU)
2017/07/14(金) 07:04:53.46ID:dCevqkg20 >>758の真ん中のブロック、意味がわかるなら解説よろしく
776デフォルトの名無しさん (スップ Sdc4-aKa0)
2017/07/15(土) 13:45:59.81ID:fnbVxk0dd VBから読み出せるdllを作るときの注意点ってある??
777デフォルトの名無しさん (ワッチョイ f6e4-PXrN)
2017/07/15(土) 14:17:18.00ID:u0zSb1i50 メモリ管理
778デフォルトの名無しさん (スプッッ Sd9e-y/ao)
2017/07/15(土) 15:27:55.38ID:GMW24mlhd779デフォルトの名無しさん (スップ Sdc4-aKa0)
2017/07/15(土) 17:14:07.14ID:fnbVxk0dd >>778
vb6.0っていう化石
vb6.0っていう化石
780デフォルトの名無しさん (スプッッ Sd9e-y/ao)
2017/07/15(土) 17:26:21.05ID:GMW24mlhd781デフォルトの名無しさん (スプッッ Sd9e-y/ao)
2017/07/15(土) 17:33:23.30ID:GMW24mlhd782デフォルトの名無しさん (ワッチョイ 0aa6-1m9k)
2017/07/16(日) 16:02:40.33ID:o1PqrRM30783デフォルトの名無しさん (ワッチョイ 955a-qt4g)
2017/07/16(日) 16:21:43.57ID:CxpOV7IS0 const が付いてるからじゃね
784デフォルトの名無しさん (ワッチョイ 0aa6-1m9k)
2017/07/16(日) 17:06:50.01ID:o1PqrRM30785デフォルトの名無しさん (ワッチョイ 955a-qt4g)
2017/07/16(日) 18:31:12.78ID:CxpOV7IS0 struct A<T (&)[4]> は、
struct A<const T &> の特殊化じゃないんじゃね?
struct A<const T &> の特殊化じゃないんじゃね?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- パワフル女性世界3位に高市首相 米誌フォーブス選出 [蚤の市★]
- 【S.RIDE】「忘年会の幹事ずるい」 ソニー系配車アプリの広告が物議…… 運営が謝罪「配慮に欠ける不適切な表現」掲出終了に [ぐれ★]
- 【米FRB】0.25%利下げ決定 3会合連続、雇用下支え [蚤の市★]
- テレ朝本社から社外スタッフの男性が転落し死亡 テレビ朝日がコメント [ひかり★]
- アイヌ民族の「戸籍簿」がヤフオクで落札 団体「人権無視」と憤り [蚤の市★]
- 「身を切る改革」どこへ? 維新「身内」への公金支出、地方でも続々 [蚤の市★]
- 高市「野党はもう債権とか為替の話はしないで!よく分からないから答えない!」 [884040186]
- 【悲報】教育ママ「ギャオオオオオン!息子が大麻吸ってるのお!!」⇨中3の息子を警察に突き出し全てを終わらせる [455031798]
- 【画像】東京都民「助けて!満員電車もう無理いいぃぃいいぃぃぃいいいいいぃ😭」!!!! [732289945]
- 【堂上隼人】ソフトバンク幹部「よし更生してる」→現在までに逮捕12回、レイプ被害者15人
- 🏡ダブパン本仕込み~🍞🍞😅🍞🍞🏡
- 市役所の面接落ちたガイジだけど
