[過去ログ] C++相談室 part150 (935レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
63
(4): 2020/03/31(火)01:34 ID:s0jfH2wf(1/2) AAS
初めてクラスを使ったのですが、forループの中で関数のように使う場合には
1. 毎回デフォルトコンストラクタに引数を食わせて初期化してからgetterで計算する
2. 初期化はループの外でして置いてループ内ではsetterなどで引数を読み込ませてからgetterで計算する

どちらの方が良いんですかね?

あと、あるメンバ変数に連動したメンバ変数みたいなものって作れますか?
int _a
int _b = _a / 2みたいなものです
333
(4): 2020/04/24(金)02:20 ID:UPXGgu7R(1/7) AAS
>>332
> 右オペランドの値を代入式の型に型変換し、左オペランドで指し示される
> オブジェクトに格納されている値をこの値で置き換える。
C++において、
char ch;
int i;
に対し、
ch = i;
はエラーになるけど、それは左辺と右辺で型が違っているから。
つまり、C++では、単純代入演算子 x = y において、「型変換」は自動的には行われない。
345
(3): 2020/04/24(金)15:14 ID:UPXGgu7R(4/7) AAS
>>335
C++では、
void *ptr;
CPerson *pPerson;
に対して、
pPerson = ptr;
はエラーになるはず。
だから、C++では
CPerson *pPerson = malloc(sizeof(CPerson));
がエラーになるのだから。
省7
363
(3): 2020/04/25(土)19:45 ID:zwQe2okb(1) AAS
auto it = unique(
vecVisibilityPolygonPoints.begin(),
vecVisibilityPolygonPoints.end(),
[&](const tuple<float, float, float> &t1, const tuple<float, float, float> &t2)
{
return fabs(get<1>(t1) - get<1>(t2)) < 0.1f && fabs(get<2>(t1) - get<2>(t2)) < 0.1f;
});

vecVisibilityPolygonPoints.resize(distance(vecVisibilityPolygonPoints.begin(), it));
のresize()から意味がよくわからないのですが、
{0.1, 0.11, 0.2, 0.21, 0.4, 0.41}
省3
476
(3): 2020/04/27(月)17:30 ID:BED9nwFS(1) AAS
背伸びしたい無職が使う言語は
C++かHaskellと相場が決まっとる
485
(4): 2020/04/28(火)06:21 ID:greKUeEf(1/5) AAS
例外やRTTIをイネーブルしてるとでかいスタティックリンクつくけどね
508
(3): 2020/04/29(水)10:59 ID:I9/54o5j(2/7) AAS
char8_tってどういう経緯で採択されたんですか?
Microsoftを利する提案が受け入れられるのは相当珍しいと思いますが。
611
(7): 2020/05/03(日)16:54 ID:+PpSUNNp(1) AAS
64bitだとdoubleとかの書き込みはアトミックになるの
631
(3): 2020/05/04(月)09:54 ID:Fiop0J3e(1/3) AAS
>>629-630
所有権込みで格納したいだけなら。
SetPointer(new shared_ptr<Hoge>(hoge));
shared_ptr<Hoge> hoge = *static_cast<shared_ptr<Hoge>*>(GetPointer());
あとはどうにか delete が抜けないようにする。
680
(3): 2020/05/06(水)11:06 ID:lE4/XlkX(1/5) AAS
>>611
その変の話は詳しくないので分からないのですが、この質問は、マルチコアやマルチCPUでの話ですか。
前から、その辺は、CriticalSection()などで排他処理すれば問題ないのではないかと思っていたのですが、その変どうなんでしょう?
それとも、自作OSなどで、 CriticalSection()のようなものを自作する場合の話でしょうか?
ちなみに、xor xchg などの話はよく理解できてません。
これらは、複数のCPUが1つのフラグを同時に読み書きした場合の問題なんでしょうか。
743
(3): 2020/05/07(木)10:36 ID:0pZrsm5h(2/9) AAS
個人的に並列化処理といえば、例えば2coreの場合、
double buf[1024];
の内の、0-511 までを core1、512-1023 までを core2で処理するものだと思っていた。
atomicであるかどうかを気にしている人は、
buf[0] を core1とcore2で
[core1]
for(・・・) {
 buf[0] += 1.0;
}
[core2]
省8
752
(3): 2020/05/07(木)17:00 ID:jqbAFx8V(1) AAS
C++に限ったことじゃないかもしれないんですけど質問させてください
typedefで型に別名つけることについてです。今いじってるコードでたとえばvector<animal>にanimalsって型名をつけるようなのが山のようにあるんです
これすごくわかりにくいなと思います。例えばvector<animals>で宣言されてればその変数にどんな操作ができるのか一発ですが突然animalsで宣言されても何ができる型なのか初見では分かりません
別名をつけることがメリットになることってあるんでしょうか
774
(5): 2020/05/08(金)01:21 ID:Fn7VYFHg(2/9) AAS
AA省
791
(4): 2020/05/08(金)19:10 ID:Fn7VYFHg(7/9) AAS
AA省
800
(6): 2020/05/09(土)11:17 ID:KZFWOt7Z(1/9) AAS
>>799
loop()内のrunningは毎度メモリから読まれる必要があるので
C言語ならvolatileにすると理解しています
つまりループ内で最適化されてしまわないようにするためだと思います

これがC++だと仕様的にもともと問題ないのでしょうか?
逆に最適化がかかりにくくなってしまう気がします
ただ手元で実装したものは最適化かけていても確かに期待通り動いています
811
(4): 2020/05/09(土)14:32 ID:KZFWOt7Z(3/9) AAS
>>802
> >>800
> >>774のコードの全体の当否はおくとして
> while()の中でlockしているのであればlockされるブロックに出入りする際に
> >runningは毎度メモリから読まれる
> が実現されるからrunningフラグはvolatile無しでもむ無問題、

一度目はメモリから読まれるのは確実だと思います
ただループの場合、2度目のリードからはコンパイラが最適化をかけて
一度目の値を使いまわす可能性があると思います

void loop()
省13
840
(3): 2020/05/10(日)11:25 ID:5OK5MvZd(1/2) AAS
>>835
これで全部 std::shared_ptr になるんじゃない?
namespace std { namespace tr1 = ::std; }
843
(13): 2020/05/10(日)12:19 ID:KGOVLWXM(1) AAS
>>832
constexpr ComponentGroup()の返り値がない。

constexpr void ComponentGroup()じゃない?
855
(4): 2020/05/11(月)10:06 ID:ihiMo4aq(1/3) AAS
関数内で宣言した変数を途中でconst化したいときってどうやったらいいですか?
関数というのはこんな感じです

void func() {
int a;

〜aの値を設定する百行くらいの処理〜

〜aを用いたメイン処理。途中で誤ってaを変更しないようにしたい〜
}

aをconstで宣言しておいてaを設定するところはconst_castするというのはやりたくないです。
初期化用関数initializeを作って const int a = initialize(〜); とするしか方法はないですか?
できればそれもしたくないのですが
860
(3): 2020/05/11(月)10:53 ID:ihiMo4aq(2/3) AAS
>>857>>859
関数作るのが嫌なのは、気分ですね。バカバカしい理由ですみません。

関数外に置くのが嫌でラムダ式は多用しているのですが、使うときはある程度まとまった処理をするときなので
初期化程度のことにラムダ式を持ち出すのは大仰な気がしてやりたくありません。
これまた個人的な好みで恐縮ですが。

(ちなみに>>855で挙げた初期化処理が百行くらいというのは大げさで、概ね数行くらいです。)
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.197s*