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


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

C++相談室 part154



1 名前:デフォルトの名無しさん mailto:sage [2021/01/08(金) 17:54:00.55 ID:0DW9z0rL.net]
※前スレ
C++相談室 part153
https://mevius.5ch.net/test/read.cgi/tech/1602339500/

テンプレここまで

577 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 17:44:16.27 ID:+KPQZs33.net]
https://youtu.be/wN0x9eZLix4

578 名前:蟻人間 mailto:sage [2021/02/06(土) 17:50:18.63 ID:gG6zzvvp.net]
https://ja.wikipedia.org/wiki/UTF-8

>任意のバイトの先頭ビットが "0" なら1バイト文字、"10" なら2バイト以上の文字の2番目以降のバイト、...(中略)...であると判定できる。

579 名前:蟻人間 mailto:sage [2021/02/06(土) 17:55:50.63 ID:gG6zzvvp.net]
つまり、

uint8_t utf8_byte = ...;
if (!(utf8_byte & 0x80)) {
// 1バイト文字。
} else if ((utf8_byte & 0xC0) == 0xC0) {
// マルチバイト文字の先頭バイト。
} else {
// マルチバイト文字の非先頭バイト。
}

580 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 18:11:29.66 ID:6eQmSTNr.net]
プログラミングのお題スレ Part18
https://mevius.5ch.net/test/read.cgi/tech/1594702426/453

UTF-8 は、先頭ニブル・4ビットで、1〜4バイト文字を判別しています

こういう規則か?

581 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 19:16:40.60 ID:S9Y30hRK.net]
>>561
殺虫剤のパラドックスって知ってる?

582 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 20:33:00.74 ID:zn5WrP4C.net]
>>570
恥の上塗り?w

ただし、自動化されたリグレッションテストの場合は、同じテストを繰り返すことでリグレッションが低減しているという有益な結果を示すことができる。
https://note.com/akiyama924/n/nc006015de2d2

583 名前:デフォルトの名無しさん [2021/02/06(土) 21:07:07.97 ID:GfZyzG1j.net]
テストロボットだぞ、ガシャーン!ガシャーン!

584 名前:デフォルトの名無しさん [2021/02/06(土) 21:08:55.93 ID:GfZyzG1j.net]
片山さんの自動パズルとか、ウェブだったら☆1万くらいついてそうだけど。
なんでWindowsにこだわるんだろ。

585 名前:蟻人間 mailto:sage [2021/02/06(土) 22:54:31.87 ID:gG6zzvvp.net]
>>573 JavaScriptで動くものはすでにある。
https://katahiromz.github.io/xword.js/
あるが、ビジネスとして展開する能力がない。



586 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 23:50:48.27 ID:58EQLFGq.net]
クレブナー基底で解くやつ!

587 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 06:07:42.85 ID:HYoiJUgB.net]
>>571
質問に答えてねw

588 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 06:47:27.09 ID:jX/y7Db/.net]
>>576
ん?
どの質問?
>>570ならリンク先読めばいいだけだろ
恥ずかしくて読めないのかもしれないけどw

589 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 08:26:36.56 ID:HYoiJUgB.net]
>>576
俺の質問にアンカーつけといてどの質問はねえだろ
恥ずかしくてとぼけてんのおまえさんだろ

590 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 08:29:49.52 ID:p49/UnNX.net]
テストはやらないよりもやったほうがはるかに良い
前の版通ったテストが最新版でも通るという品質は担保される
殺虫剤のパラドックスよりも恐れなければならないのは
いっぱい作ったテストコードが事実上同じテストでしかないという事態になることの方
※ 個人の感想です

591 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 08:49:47.79 ID:m5BD34IK.net]
>>578
別に完璧になくせるなんて誰も言っていないのに勝手にツッコんでるの何?としか思ってないよ

592 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 08:57:32.70 ID:HYoiJUgB.net]
>>580
おまえさん、こう言ったんだぜ

> 不具合が流出しない仕組みを揃えておきましょう

流出しなくなんかならねえ
不具合はポカミスばかりとは限らない
おまえさんのような浅はかな思想で突っ走った先に
碌でもない結末が待っていることだってある

揃えられるものなら揃えてみな
自分ができねえことを他人に言うな

593 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 09:11:28.01 ID:p49/UnNX.net]
人は思い込みを反証することで生

594 名前:きていける
だが完璧に反証できないこともある
ユニットテストはそのかけがえのないものを教えてくれた
[]
[ここ壊れてます]

595 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 09:41:41.73 ID:m5BD34IK.net]
>>581
え?それ俺じゃないけど
テストやればバグが無いといえるわけじゃないから安心するなってだけで、テストするなって話じゃないよね
主旨は同じだよね
何が気に入らないの?



596 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 10:00:05.54 ID:HYoiJUgB.net]
ああ、俺じゃないで逃げるのか
情けねえやつだな

597 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 10:07:20.85 ID:jX/y7Db/.net]
>>578
アンカーつけてると言うなら
> >>570ならリンク先読めばいいだけだろ
って書いてあるだろ
よほどアホでもない限りそんなアホなこと言うわけ無いと思ったからどれ?
って聞いたんだけど、想像以上のアホだったってことかな?w

598 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 10:10:29.25 ID:jX/y7Db/.net]
>>581
不具合はなくせないから仕組みも努力もいらんと言うならそれでいいんじゃね?
お・ま・え・ん・と・ろ・こ・で・は w

599 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 10:13:42.72 ID:2AGAGJ05.net]
マスクも手洗いもコロナを100%防げるわけじゃないから
マスク付ける必要も手を洗う必要もないね

600 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 10:20:21.65 ID:HYoiJUgB.net]
テストツールいらねえなんて言ってねえぜ
テストツール万能論はアホの考えだと言っている

601 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 10:21:25.49 ID:HYoiJUgB.net]
で、身に覚えのあるやつが返事してるから
ニヤニヤ笑ってるのさ

602 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 10:48:37.66 ID:2AGAGJ05.net]
「テストツール万能論」を主張したレスなんて一つも見えないんだけど
存在しないものを見てニヤニヤしてる変態こわい

603 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 10:56:59.83 ID:HYoiJUgB.net]
それを>>587がぬかすとは笑止な

604 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 11:11:45.24 ID:0QEz1MW7.net]
構い過ぎじゃね?

605 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 11:52:54.07 ID:jX/y7Db/.net]
>>591
まさかと思うけど>>587がマジで言ってるとか思ってないよね?w



606 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 12:03:05.54 ID:2AGAGJ05.net]
ああ・・・そういうことね・・・すまん触るべきじゃなかった

607 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 13:47:28.22 ID:p49/UnNX.net]
すまんで済んだらユニットテストは要らんわ!

608 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 14:09:34.56 ID:qbLU6RFF.net]
野菜食えで馬鹿みたいにブチギレるホリエと一緒やな

609 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 15:05:54.73 ID:HYoiJUgB.net]
>>593
奴は「必要ないね」とぬかしたんだ
別に武漢熱に話をすり替えようとすり替えまいとそこは関係ない

610 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 15:41:29.20 ID:yi1XmM9H.net]
>>597
文章を字面通りにしか解釈できない人?

611 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 16:31:48.90 ID:jcLu/xd9.net]
vectorを参照渡しするときの方法について教えてくください
class sansyo
{
private:
std::vector<short> _stdSansyo;
public:
void setSansyo(std::vector<short>& sansyo);
}
;void sansyo::setSansyo(std::vector<short>& sansyo)
{
_stdSansyo = sansyo;
_stdSansyo[5] = 500;
}
int main()
{
std::vector<short> moto;
sansyo cSansyo;
for (int i = 0; i < 10; i++) {
short tmp = i * 2;
moto.push_back(tmp);
}
cSansyo.setSansyo(moto);//ここで参照渡しのはず
for (int i = 0; i < 10; i++) {
std::cout << "値=" << moto[i] << "\n"; //値が変わっていない
}
}
こんなふうに、参照渡しにしてみたのですがどうも参照渡しになっていないでそのまま新しいvectorが作られちゃったぽいのですが
これだとメモリを倍使っちゃってるし、時間も掛かってますよね
どういうふうにしたら、喚ばれた側の関数で参照渡しに出来るのでしょう

612 名前:蟻人間 mailto:sage [2021/02/07(日) 16:37:08.22 ID:sfdJNFTq.net]
>>599
右辺値参照かstd::swap

613 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 17:13:26.18 ID:8CWTHaUD.net]
>>600
サンプル貼ってよ

614 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 17:21:04.63 ID:jcLu/xd9.net]
std::swapも右辺値参照も全然上手く行きそうになかっのたで

宣言をポインタにして
private:
std::vector<short> *_stdSansyo;

void sansyo::setSansyo(std::vector<short>& sansyo)
{
_stdSansyo = &sansyo;
sansyo[6] = 100;
_stdSansyo->data()[5] = 50;
}

関数をこんなふうに書き換えたら、ちゃんと参照だけで動いたのでもういいや

けど右辺値参照とstd::swapの例も出してくれたらこれから色々いたスカリマス

615 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 17:24:59.07 ID:8CWTHaUD.net]
>>600
ほれほれ
貼れんのか



616 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 17:28:56.01 ID:yi1XmM9H.net]
>>599
参照渡し自体はできてるはず。
ただ参照渡ししたvectorをクラスのメンバに代入して、代入されたクラスメンバの方を更新しているからvectorを渡した元の方にはまったく影響が無いというだけ。

617 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 17:29:10.92 ID:jX/y7Db/.net]
>>598
もうそう言うことにしないと自我が保てないんだろw

618 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 17:59:39.88 ID:p49/UnNX.net]
sansyo::_stdSanshoをどうしても参照にしたいならこうするしか、
class sansho {
private:
std::vector<short> _stdSansyo;
public:
sansho(std::vector<short>& src) : _stdSansyo(src) { }
void setSansyo(std::vector<short>& sansyo);
};
void sansyo::setSansyo(std::vector<short>& sansyo) {
_stdSansyo[5] = 500;
}
int main() {
std::vector<short> moto;
sansyo cSansyo(moto); //ここで参照渡し
for (int i = 0; i < 10; i++) {
short tmp = i * 2;
moto.push_back(tmp);
}
cSansyo.setSansyo(moto); // moto[5]に500が入りまくり
for (int i = 0; i < 10; i++) {
std::cout << "値=" << moto[i] << "\n"; //値が変わった!(予定
}
};

619 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 18:00:52.99 ID:HYoiJUgB.net]
>>598
だったら何だとぬかす気だ?
> 存在しないものを見てニヤニヤしてる変態こわい
> 文章を字面通りにしか解釈できない人?

要するに話になんない奴ってことだろ
言ったことにも裏の意味にもコメントされたくない
じゃあ相手しねえでやるから黙ってろゴミ

620 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 18:02:35.24 ID:p49/UnNX.net]
訂正orz
誤: private: std::vector<short> _stdSansyo;
正: private: std::vector<short>& _stdSansyo;

もしcSansyo.setSansyo(moto)の呼び出し時に参照を渡したいんじゃああ!
という向きにはsansyo::_stdSansyoはstd::vector<short>* _stdSanshoにして
ポインタを持つようにすべき

621 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 18:10:05.07 ID:p49/UnNX.net]
ちゅかもっと大きな一般原則としてつぎのどっちかにすべき
(1) std::vector<short>の実体の所有権をmain()(で定義いているmoto)に固定してcSanshoクラスにmotoのアドレスを記憶させない
(2) std::vector<short>の実体の所有権をcSanshoクラスのインスタンス(_stdSansyo;)に固定してmain()でmotoを定義するのをやめる
※ 個人の感想です

つまり出題が悪い。出し直し

622 名前:はちみつ餃子 mailto:sage [2021/02/07(日) 18:10:05.98 ID:hHDgzHUe.net]
>>602
元の考え方を変えずに動作させるにはその方法は十分に妥当だと思うよ。

ただ、もっと複雑なプログラムになったときにうっかりデータよりポインタのほうが
長生きすることになっても発見しづらいデザインになっている。

可能なら全体のデザインを見直すべきという話で、
いっそ所有権を渡してしまったほうが間違いにくいかもねという意味で右辺値参照や swap の話題が出ているので、
>>599 をベースにして右辺値参照や swap を使う例に書き換えるのは難しい。
別物になってしまう。

623 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 18:11:12.01 ID:yi1XmM9H.net]
>>607
自分以外の複数の人を同一人物だと思っちゃう人?

624 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 18:14:03.86 ID:p49/UnNX.net]
>>611
ネットの総意とか言い出しちゃう人?

625 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 18:16:20.19 ID:p49/UnNX.net]
検証不能な事物を錦の御旗にするような人間が
ソフトウェアのテスト推しなのは
大いなる矛盾である氏ね



626 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 18:18:25.00 ID:HYoiJUgB.net]
>>611
あの流れで
> 文章を字面通りにしか解釈できない人?
なんてぬかすやつは複数ID自演厨と見なされて当然だ
疑われたくなければ口の利き方に気をつけな

疑いは晴れてない
この後の発言にも気をつけるんだな

627 名前:デフォルトの名無しさん [2021/02/07(日) 18:24:44.17 ID:4v/nAOdw.net]
>>566
なにこれ

628 名前:デフォルトの名無しさん [2021/02/07(日) 18:29:05.24 ID:U/6f7Qk0.net]
参照をフィールドに保持するのは、一部のパーサーくらいでは?

しかも、状態を関数に切り分けないとデバッグが辛いので、仕方なくそうするだけで、バッド何とかの類だし。

629 名前:デフォルトの名無しさん [2021/02/07(日) 18:31:34.10 ID:U/6f7Qk0.net]
むかし5chで誰かが、プログラムを書くときは必ずテストしてるはずなんだって言ってましたが。
それを単体テストとして書いておけばずっと使えて便利だよと。

その書き込みを見て世界中の人がテストフレームワークを書き始めたんですよ。

630 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 19:06:50.71 ID:n+epGkV9.net]
>>616
想像力が足りなすぎ
>>617
想像力が豊かすぎ

631 名前:デフォルトの名無しさん [2021/02/07(日) 20:53:42.20 ID:U/6f7Qk0.net]
バッドエンディングですね。

632 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 21:03:56.50 ID:ZOvCZ0cx.net]
グローバル変数使うなとは言わないけどコメントもないのはキツい
grep掛けて検索しても訳分からん
ポインタで飛び火してるときなんてもう…

633 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 22:09:55.11 ID:IiZq+u+t.net]
演算子オーバーロードの厄介さはキーワード検索で拾いにくいこと。
反復子もそうだが。ま、言い出したらきりないが。

634 名前:仮トリップ mailto:sage [2021/02/07(日) 22:57:26.65 ID:HI2f2oIL.net]
>>561を書いたのは私なんだけどなぁ...
面倒くさそうな人がいるし、一般論だけ言って立ち去ろって思っただけ

635 名前:仮トリップ mailto:sage [2021/02/07(日) 23:02:22.83 ID:HI2f2oIL.net]
ちなみに、>>561以降は何も述べてない。
私は一般論を語っただけだから、他の人が私と似た考えでツッコミを入れただけに過ぎない。

殺虫剤のパラドックス?それがどうした?
私はテストコードを書いて不具合を激的に抑えているが?

殺虫剤のパラドックスを説明したところで、不具合を限りなくゼロに近づける試みが無駄であることの証明にはならない。



636 名前:蟻人間 mailto:sage [2021/02/07(日) 23:09:32.25 ID:sfdJNFTq.net]
>>622-623
自我の芽生え、おめでとう!
では、かえるの歌を歌います。

【...JASRAC権利関係の為、自主検閲...】

♪パパーン
(全員でクラッカーを鳴らす)

637 名前:デフォルトの名無しさん [2021/02/07(日) 23:20:12.91 ID:IiZq+u+t.net]
殺虫剤のパラドックスなんてものは存在しない。
ただの退行テスト不足だ。

638 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 06:24:22.18 ID:PnrMZIJR.net]
殺虫剤のパラドックスって言いたかっただけやろw
そもそもテストで発覚したバグを修正したら同じテストで摘出できないのは当たり前
摘出できたら単なる修正漏れだしw
JSTQBの関係者か信奉者が言い出したんだろうけどあまり意味のない用語だと思う

639 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 06:42:41.05 ID:HwnOmmQF.net]
蒸し返さなくていいから……

640 名前:デフォルトの名無しさん [2021/02/08(月) 07:03:25.17 ID:nKLqWVxG.net]
虫返さないですと!?

641 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 11:05:43.31 ID:NGjwD54G.net]
>>610
そもそも>>600は的外れだと思うんだが
メンバの方を参照かポインタで持つ、で終わりだろ
3行目以降完全に蛇足

642 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 11:20:50.36 ID:VJ9lplXi.net]
>>627,628
そういうのは無視しろ

643 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 12:00:56.57 ID:zDqHH6LK.net]
スルーの法則

644 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 12:43:41.70 ID:DuebuhTc.net]
>>602
>>599
誰か
永続的に使用するなら shared_ptr

645 名前:で受け取れ。今のままだとsetSansyoを呼び出す側が所有権手放していいのかわからなくて困るだろ。
て指摘した?
今や生ポインタなんて性能優先のときに内部的に使用するもんで、インターフェイスで使用するもんじゃない。

あと、参照も関数内だけで使用する引数に使うもんで、永続的に所有する引数に使うもんじゃない。
[]
[ここ壊れてます]



646 名前:デフォルトの名無しさん [2021/02/08(月) 14:04:18.90 ID:VJ9lplXi.net]
コンストラクタでなら参照型のメンバ変数に保存できる。ほとんどの人はやらないけど。

647 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 18:54:29.18 ID:DuebuhTc.net]
>>633
できるのと実際に実装するのは別の話だわな。
所有権の無いオブジェクトの参照を保存するなんて狂気の沙汰だ。

648 名前:デフォルトの名無しさん [2021/02/08(月) 19:12:34.60 ID:nKLqWVxG.net]
アイキャンユーキャン。

649 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 20:51:28.21 ID:U8Md53kE.net]
>>633
クラス間に親子関係のようなものがあって、子の生存期間が常に親の生存期間内にあるような場合は、親への参照をメンバ変数とすることは普通にあると思うけど。例えば>>484とか

650 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 21:15:43.14 ID:NGjwD54G.net]
shared_ptr(またはスマポ)至上主義の変なやつ以前から居るんだよな
相手にするな

651 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 21:37:27.20 ID:UsSsiWeS.net]
ナマポ使ったほうが良い場面なんて皆無でしょう

652 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 21:48:31.75 ID:2GJiXyxS.net]
出たwナマポ完全否定奴w

653 名前:デフォルトの名無しさん [2021/02/08(月) 21:58:57.06 ID:VJ9lplXi.net]
参照型のメンバ変数は参照オブジェクトの生存期間を保証できないからweak_ptrで保存しておいて使う時だけshared_ptrを取得するのがC++的な解決なんじゃないの。

654 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 22:08:09.48 ID:FKp3giDs.net]
スマポにしたら所有権の問題を考えなくてよい
というわけではないからスマポ使えというのは妥当ではない
逆に所有権に矛盾が無ければインスタンスは生成元が与えた参照を持って良い

ていうかスコープを抜けたら自動的に解放される系のクラスを書いたら
エラー処理上エラー通知先としての生成元オブジェクトの参照保持はほとんど不可避

655 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 22:11:14.29 ID:NgGwlfwa.net]
コピー禁止のshared_ptr欲しい



656 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 22:25:23.27 ID:bp+4mh0R.net]
すべてスマポで書くスタイルも悪くないと思うけど、メイヤーズ神もツリー構造で子が親のポインタを持つときはナマポで十分と書いている

657 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 22:27:43.60 ID:34Jom8HU.net]
木のノードは子へのポインタじゃなくて子のノードIDを持て😡

658 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 22:48:15.38 ID:NgGwlfwa.net]
自分よりポインタの方が寿命が長いことが保証されているなら確かに生ポで問題ないが
それが成り立つ状況ってなかなかないよな。

659 名前:デフォルトの名無しさん [2021/02/08(月) 23:02:19.81 ID:VJ9lplXi.net]
参照先の実体がまだ生存しているかどうか知るにはweak_ptr::expired()を使うしかないのが現状でしょ。

660 名前:デフォルトの名無しさん [2021/02/08(月) 23:07:56.19 ID:nKLqWVxG.net]
Chromiumはstd::unique_ptrを全面的に使ってるけど、ポインタを使う設計そのものが古いような気がする。

661 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 23:13:28.50 ID:BwguerZK.net]
まあcコードを全く使わないってのならいいんでないの。
ただc++のポータビリティーは君が思ってるより低いけどね。

662 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 23:23:15.47 ID:cR8ppl+C.net]
露骨すぎるマウント取りたがりダッセーwww

663 名前:デフォルトの名無しさん [2021/02/09(火) 01:58:29.04 ID:qUmf+U4D.net]
マウントじゃなくてポインタでは?

664 名前:デフォルトの名無しさん [2021/02/09(火) 02:46:23.52 ID:jPnyP+Vp.net]
C++に特化したAPIなんてどこのOSでも提供されないから、結局、Cの配列と互換性のあるstd::vectorやstd::arrayを使わざるを得なくなる。

665 名前:デフォルトの名無しさん [2021/02/09(火) 04:01:45.22 ID:qUmf+U4D.net]
>>644
木もコンテナで良いですよね。
所有権がハッキリしてて。



666 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 07:34:27.86 ID:nSJhwzEU.net]
>>651
data()を必ず使う手合いか?

667 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 07:39:10.06 ID:s3p3GZ7R.net]
木は木全体を収める領域ごと一気に解放する場合もあるから別に

668 名前:デフォルトの名無しさん [2021/02/09(火) 17:49:12.66 ID:KrtnTLUi.net]
>Cの配列と互換性のある

doubt

669 名前:デフォルトの名無しさん [2021/02/09(火) 17:53:30.91 ID:LEWRJrN2.net]
ダウトとデビューって似てるよね

670 名前:デフォルトの名無しさん [2021/02/09(火) 18:35:55.16 ID:qUmf+U4D.net]
親が子のポインタを所有する木は、親を消すとネストして子孫のデストラクタを呼ぶので、スタックが枯渇します。

したがって、子から順番に消さなくてはなりません。

671 名前:デフォルトの名無しさん [2021/02/09(火) 18:56:53.48 ID:qUmf+U4D.net]
その様はまるで摩天楼がドミノ倒しのように連鎖倒壊するようでもあり、DOMINOというピザにもなっています・

672 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 19:07:16.84 ID:IPYpL0sA.net]
なんと後味の悪い話

673 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 20:39:36.84 ID:zHOwdh/n.net]
意味が分からない

674 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 21:07:48.14 ID:Rh87rJZX.net]
>>657
それで枯渇するようじゃ木の探索すらできない。

675 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 21:13:02.23 ID:5Ac7csWH.net]
探索はループでもできるんで、たとえば数万個の要素を持つツリーを子から消せというのは真理なのかも



676 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 21:27:40.55 ID:AojZLEiV.net]
消すのは独立して実行できるので別スレッドに送れば実質コスト0

677 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 21:38:09.75 ID:s3p3GZ7R.net]
>>662
DFAとPDAではやれることの範囲の違いがちげう

つかこの場合は安易にスマポとかコンテナを使うから破棄ごときにトラバースの手間がかかるんである






[ 続きを読む ] / [ 携帯版 ]

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

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