[過去ログ] C++相談室 part154 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
495: 2021/02/04(木)22:51 ID:sIhIIpMX(2/2) AAS
intptr_t整数型を使ってたのっていつの時代?
496: 2021/02/04(木)23:24 ID:hMfhfQWp(1) AAS
uintptr_tならいつもお世話になっております
497: 2021/02/05(金)00:01 ID:NIkVqohR(1/2) AAS
この手合いのボケを量産するのはC++の害だな
498: 2021/02/05(金)01:35 ID:EB7VAtvO(1/2) AAS
むしろCの害
499: 2021/02/05(金)01:52 ID:xbM9VFWh(1) AAS
Rubyって結局勉強しないままPythonの時代になってしまったな
500: 2021/02/05(金)04:42 ID:ZuGfyZDY(1) AAS
同様にC++を勉強しないままRustの時代になる
501: 2021/02/05(金)09:51 ID:U76qOqQA(1) AAS
>>488
外部リンク:www.it-swarm.jp.net演算子よりもstd-makeuniqueを使用する利点/826350881/amp/
外部リンク:ja.stackoverflow.comの利点
502: 2021/02/05(金)13:28 ID:ou/gU5gH(1/3) AAS
c++やらずにrustとか馬鹿量産するだけにしか思えんな。
503
(1): 2021/02/05(金)14:10 ID:Xzu/prlh(1) AAS
それ言ったらノーコードがどうたら言ってる奴らはもっとやばそう
504
(1): 2021/02/05(金)14:17 ID:M7C1cdPI(1) AAS
ノーコードていってノードツリーみたいなのでフロー管理するやつ
よくゲーム系ツールにありがちだけど、サンプルみたいな単純な処理ならともかく
こみいったフローになってくるとノード間の接続線がものすごいことになって
とても管理しようという気になれない、まさに見た目どおりのスパゲティプログラムに
505
(1): 2021/02/05(金)14:18 ID:ou/gU5gH(2/3) AAS
>>503
それはもう50年くらいずっとそうだろ。
ノーコードとか逆に俺様言語作ってるのとほぼ変わらん状態にしかならんという
しょーもない展開しか見たことない。
506: 2021/02/05(金)15:14 ID:zImWQG8r(1/4) AAS
VCPKGのupdate、upgradeが常に失敗するんだけど、使えてる人いますか?
小まめにupdateしないからだろか?
507: 2021/02/05(金)15:14 ID:zImWQG8r(2/4) AAS
Goは標準ライブラリが圧倒してる。
508: 2021/02/05(金)15:18 ID:zImWQG8r(3/4) AAS
半年に一度フルビルドみたいになってしまう。
509
(1): 2021/02/05(金)16:12 ID:A9cGRDK5(1) AAS
Goは何がクソといってまず名前がクソ
510: 2021/02/05(金)16:36 ID:zImWQG8r(4/4) AAS
C++は基本だから、義務教育で習得するべき。
511: 2021/02/05(金)16:50 ID:/MNAnFTn(1) AAS
言語仕様がでかすぎるからC言語で精一杯
オマケで紹介される程度かな
512
(1): 2021/02/05(金)18:21 ID:7P5D6x+s(1) AAS
>>505
昔はアセンブラすら触れない奴がC言語とか笑わせるなとか真顔で言う人がいたんだぜ。

別に仕事ができるのならRustでもPythonでも何でもいいと思うぞ。
513: 2021/02/05(金)19:09 ID:AjJLCZml(1) AAS
仕事ができるのならw
514: 2021/02/05(金)20:48 ID:ou/gU5gH(3/3) AAS
>>512
仕事ができるならなw
できないカスがクソみたいなもん押し付けてくるから文句が出るんだよ。
rustでもpythonでもまともなコード書いてりゃ文句はないわ。
まともじゃないから文句が出る。
515: 2021/02/05(金)21:49 ID:a81hUa+F(1/2) AAS
というか、プログラマとしてrust(鉄さび、腐食)になるというダブルミーニングを狙ったんだと思うけど。
516: 2021/02/05(金)21:59 ID:kFtfKVND(1) AAS
お前らってド素人のくせになんでいっちょまえの口利くん?
それって不思議だわ
517: 2021/02/05(金)22:34 ID:EB7VAtvO(2/2) AAS
Rustの名前は金属の錆じゃなくてサビ菌が由来
518: 2021/02/05(金)22:36 ID:NIkVqohR(2/2) AAS
Rottenでいい
519: 2021/02/05(金)22:48 ID:a81hUa+F(2/2) AAS
Perl6はRakuになってしまったし、Rustもいずれ「わびさび」の境地でSabiに改名されるでしょ。
520
(1): 2021/02/06(土)03:04 ID:kQVOjfvp(1) AAS
「まともなコードが書けるなら」じゃなくて、まともなコードを強制するのがRustという言語の方針だと思うが
521: 2021/02/06(土)04:45 ID:oQfB5lBJ(1/2) AAS
>>284
昔からのプログラミング/電気界隈の慣習だから仕方ないけど、2要素のミニマルなブール代数しか扱わないにも関わらずboolean型を称するのがそもそもキモい
プログラミングで使うような半順序関係は、9割booleanで書くのが一番スッキリする
一般のbool型をプリミティブにして、そこからt/fやら三要素やらに派生するのが合理的に思う
522: 2021/02/06(土)04:50 ID:GfZyzG1j(1/4) AAS
ブーリアン革命。
523
(1): 2021/02/06(土)05:13 ID:oQfB5lBJ(2/2) AAS
革命というか、クラスシステムでブール代数をエミュレートしてるのが現状のOOPじゃないかと
まあ言語によって可補性はマチマチだけど、全てについてスーパークラス/サブクラスなクラスを設けるのは、メインストリームの言語では大体そうだろ
524
(1): 2021/02/06(土)07:27 ID:S9Y30hRK(1/7) AAS
>>520
だとしたら胡散臭さ200%のカルトだな
525
(1): 2021/02/06(土)09:31 ID:rZdEmaWa(1/5) AAS
>>524
Java、Kotlin、Scala、C#、Ruby、Python、PHP
あたりのどれかを触ってみれば、危険な記述を言語仕様レベルで封印することのありがたさが分かる

他言語も触ってみることをオススメする
526
(1): 2021/02/06(土)09:34 ID:5Ze23T9D(1) AAS
よくわからんが安全カミソリみたいなものかね?
527
(2): 2021/02/06(土)10:10 ID:rZdEmaWa(2/5) AAS
>>526
そんな感じ

まぁ、C++もマスターすれば危険な記述を避けることはできるんだけど...
プログラマーが悪意を持ってプログラムを記述しない限り安全なコードになるようにしようという試みは大切だと思う
528
(4): 2021/02/06(土)10:11 ID:S9Y30hRK(2/7) AAS
>>525
ありがとう、おまえさんのレベルの低さがよくわかった
文法や動作がよくわかってなくてマシンに警告してもらわなきゃ自分では判断できないんだな
アプリの内容として良からぬ事を企むという次元には程遠いわけか
529: 2021/02/06(土)10:12 ID:rZdEmaWa(3/5) AAS
>>528
投稿した瞬間の不意打ちレスワロス
530: 2021/02/06(土)10:17 ID:u/OM7jGY(1) AAS
>>527
> プログラマーが悪意を持ってプログラムを記述しない限り安全なコードになるようにしようという試みは大切だと思う

>>528
> 文法や動作がよくわかってなくてマシンに警告してもらわなきゃ自分では判断できないんだな

この流れは大草原不可避
531: 2021/02/06(土)11:01 ID:PohEB++t(1/2) AAS
>>504
Unity とか UE はきらい?
532: 2021/02/06(土)11:07 ID:PohEB++t(2/2) AAS
>>509
めっちゃわかります
外部リンク:blog.golang.org
外部リンク:write.kogus.org
533: 2021/02/06(土)11:09 ID:gLiOOG5V(1) AAS
rustの縛りプレイはマルチスレッドでのメモリ管理のクソ面倒さが原因だろう
534
(1): 2021/02/06(土)12:19 ID:S9Y30hRK(3/7) AAS
>>527
いーや、くだらねえ
プログラマを信頼しない方針はあれもダメこれもダメの制限だらけになるだけだ
おまえさん自身も実社会で職場の誰よりも制限だらけなんだろう
重責を担ったことのないやつは人のせいにすることしか考えねえ
535: 2021/02/06(土)12:25 ID:UXUwo66G(1) AAS
それだけ無責任で信頼出来ない人間が多いって事だろ
536
(1): 2021/02/06(土)12:31 ID:58EQLFGq(1/5) AAS
信頼はタダではないからな
バグを流出させたら銃殺ぐらいが妥当
537: 2021/02/06(土)12:53 ID:DutNpJ49(1) AAS
>>528
お前のレベルが極めて高いのは分かったが、お前の共同の開発者もお前のようにハイレベルだとは限らない
538
(1): 2021/02/06(土)13:19 ID:Hu1Z4B3S(1/2) AAS
>>534
負け犬の遠吠え
539: 2021/02/06(土)13:29 ID:EjDQT0l8(1) AAS
>>460
「(type)~0」でどう?
540: 2021/02/06(土)13:32 ID:TGsCRbLO(1) AAS
>>536
ハゲを流出させたら〜と空目した
541: 2021/02/06(土)13:33 ID:rZdEmaWa(4/5) AAS
>>538
しー!余計なことを言うんじゃないっ!
542: 2021/02/06(土)13:38 ID:Hu1Z4B3S(2/2) AAS
>>528はスマートポインタを知らなさそう
文章から溢れ出る無能感
543: 2021/02/06(土)13:44 ID:S9Y30hRK(4/7) AAS
構ってちゃんは、スマポ憶えたてらしいなw
544
(1): 2021/02/06(土)13:46 ID:gYQHLnIz(1) AAS
天才の俺が書くプログラムは絶対正しいから無駄なバカよけ機能はいらないしテストのような下等なことはしない
って豪語してたいつぞやの天才くんが帰ってきたのかな
545
(1): ◆QZaw55cn4c 2021/02/06(土)13:50 ID:kbrcRlAn(1/2) AAS
>>544
私は馬鹿なので天才のコードというのがどんなのか凄く興味があります…
546
(1): 2021/02/06(土)13:53 ID:ROiZJzWf(1) AAS
コテハンでこの程度の文章も読めないのは
547: ◆QZaw55cn4c 2021/02/06(土)13:55 ID:kbrcRlAn(2/2) AAS
>>546
そりゃ馬鹿だからでしょう…
548
(1): 2021/02/06(土)13:59 ID:aJ9IYVGP(1/2) AAS
どう考えても誰かさんに対する皮肉なんだよなぁ...
まぁ、荒れるから誰とは言わないけど
549: 2021/02/06(土)14:05 ID:fN0CSTPN(1) AAS
傲慢かましすぎもへりくだりすぎも良くない
550
(1): 2021/02/06(土)14:06 ID:zTEH7215(1) AAS
>>548
すでに荒れる種をまいてるきみが一番有害
551: 2021/02/06(土)14:12 ID:aJ9IYVGP(2/2) AAS
>>550
いや、俺は別にS9Y30hRKは天才だと思ってるぞ!誰もS9Y30hRKの事をゲロカス老害だとか、バグを減らす上での有害な存在だとか、人を見下すだけの無能だとか、自分にとって都合のいい妄想を口に出す病人だとか、構ってちゃんだとか、そんなこと全然思っていないから!!S9Y30hRKは天才!!疑う余地もなく天才!!ハイレベルなバカで誰もついていけないとか、そんなこと思っていないから!!!
だから!それ以上この話はやめろぉおおおお!!!
552
(1): 2021/02/06(土)14:21 ID:rZdEmaWa(5/5) AAS
>>545
馬鹿でも扱えるくらい綺麗なコードが天才のコードだと思う
C++は表現豊かな言語だから...他の言語も触ると、綺麗な記述方法を学ぶ良い機会になるよ
553
(1): 2021/02/06(土)14:56 ID:58EQLFGq(2/5) AAS
>>552が扱えるかどうかが天才か否かの基準か!
554: 2021/02/06(土)15:01 ID:S9Y30hRK(5/7) AAS
綺麗かどうかじゃない
何を実現したのかだ
綺麗に書くのはエチケットだが一番大事なことではない
555
(1): 2021/02/06(土)15:11 ID:f5ipo2xA(1/2) AAS
>>553
銃殺は銃刀法違反及び殺人罪に接触することすら理解できないお前でも分かるコードが存在したら私はそのコードを書いた天才を尊敬する
556: 2021/02/06(土)15:21 ID:58EQLFGq(3/5) AAS
行政が法律に基づき行うなら問題無い
人が作った法律なら人が改正することができる
557
(1): 2021/02/06(土)15:22 ID:S9Y30hRK(6/7) AAS
スレ違い板違い失せろ
558: 2021/02/06(土)15:28 ID:58EQLFGq(4/5) AAS
>>557
>>555に対するレス
559: 2021/02/06(土)15:30 ID:f5ipo2xA(2/2) AAS
自作自演?
560
(1): 2021/02/06(土)16:36 ID:oR/8CbQ7(1/2) AAS
やらかしちゃいましたねー
人を見下しておきながら、人を見下す側もウッカリミスはするという事が証明されました

こういうウッカリ屋はプログラミングでも不具合を引き起こします
馬鹿でも天才でもウッカリ屋でも保守できるコードは記述するように心がけましょう
561
(3): 2021/02/06(土)16:38 ID:oR/8CbQ7(2/2) AAS
>>560
他にもテストの自動化、バージョン管理ツールの導入等もして不具合が流出しない仕組みを揃えておきましょう
以上
562
(2): 2021/02/06(土)16:54 ID:bwIKlxQ8(1) AAS
std::stringにUTF-8のコードを入れてプログラムを書いていますが、これを正しく編集する
にはUTF-8での文字の境界を正しく認識しないと駄目ですよね?
それは一般的にはどう処理するものなのでしょうか。

UTF-8のビットパターンとバイト数のことは知っていますが、それを自分で処理すべきか、
さらには絵文字とか複数のユニコードが組み合わさったものはどうするのか、とか。
563: はちみつ餃子 ◆8X2XSCHEME 2021/02/06(土)17:05 ID:N9CbrPsc(1) AAS
>>562
コードポイント単位での処理で良いのであれば自分で適当に書いてしまってもいいと思う。

高度なものになると ICU などのライブラリを使う。
書記素クラスタ単位での処理が必要だったり正規化だったりといった場合では
コードを書けば済むというものでもなくて巨大な表が必要だし歴史的な変な規則が盛りだくさんだから
よほどの根性がないと自分ではどうにもならないと思う。
564: 蟻人間 ◆T6xkBnTXz7B0 2021/02/06(土)17:07 ID:gG6zzvvp(1/4) AAS
>>562 Windowsだったら
#include <windows.h>
MultiByteToWideChar(CP_UTF8, 0, ...);
MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, ...);
WideCharToMultiByte(CP_UTF8, 0, ...);
IsTextUnicode(...);
などが使えると思われます。
565: 2021/02/06(土)17:41 ID:GfZyzG1j(2/4) AAS
スカラー値が一文字を表現するとは限りませんが、ユニコードスカラー値を基本にするのが現実的な妥協点だと思います。
きちんと処理するのは、データベースとアルゴリズムが必要なので、少人数では無理です。
ICUが有力な選択肢となりますが、これも気難しいライブラリなので、用途に合わないかもしれません。

事実上、世界中の様々な民族の文字を統一的に扱う目論見は破綻していると思います。
566
(1): 2021/02/06(土)17:44 ID:+KPQZs33(1) AAS
動画リンク[YouTube]
567: 蟻人間 ◆T6xkBnTXz7B0 2021/02/06(土)17:50 ID:gG6zzvvp(2/4) AAS
外部リンク:ja.wikipedia.org

>任意のバイトの先頭ビットが "0" なら1バイト文字、"10" なら2バイト以上の文字の2番目以降のバイト、...(中略)...であると判定できる。
568: 蟻人間 ◆T6xkBnTXz7B0 2021/02/06(土)17:55 ID:gG6zzvvp(3/4) AAS
つまり、

uint8_t utf8_byte = ...;
if (!(utf8_byte & 0x80)) {
// 1バイト文字。
} else if ((utf8_byte & 0xC0) == 0xC0) {
// マルチバイト文字の先頭バイト。
} else {
// マルチバイト文字の非先頭バイト。
}
569: 2021/02/06(土)18:11 ID:6eQmSTNr(1) AAS
プログラミングのお題スレ Part18
2chスレ:tech

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

こういう規則か?
570
(3): 2021/02/06(土)19:16 ID:S9Y30hRK(7/7) AAS
>>561
殺虫剤のパラドックスって知ってる?
571
(1): 2021/02/06(土)20:33 ID:zn5WrP4C(1) AAS
>>570
恥の上塗り?w

ただし、自動化されたリグレッションテストの場合は、同じテストを繰り返すことでリグレッションが低減しているという有益な結果を示すことができる。
外部リンク:note.com
572: 2021/02/06(土)21:07 ID:GfZyzG1j(3/4) AAS
テストロボットだぞ、ガシャーン!ガシャーン!
573
(1): 2021/02/06(土)21:08 ID:GfZyzG1j(4/4) AAS
片山さんの自動パズルとか、ウェブだったら☆1万くらいついてそうだけど。
なんでWindowsにこだわるんだろ。
574: 蟻人間 ◆T6xkBnTXz7B0 2021/02/06(土)22:54 ID:gG6zzvvp(4/4) AAS
>>573 JavaScriptで動くものはすでにある。
外部リンク:katahiromz.github.io
あるが、ビジネスとして展開する能力がない。
575: 2021/02/06(土)23:50 ID:58EQLFGq(5/5) AAS
クレブナー基底で解くやつ!
576
(2): 2021/02/07(日)06:07 ID:HYoiJUgB(1/10) AAS
>>571
質問に答えてねw
577: 2021/02/07(日)06:47 ID:jX/y7Db/(1/5) AAS
>>576
ん?
どの質問?
>>570ならリンク先読めばいいだけだろ
恥ずかしくて読めないのかもしれないけどw
578
(2): 2021/02/07(日)08:26 ID:HYoiJUgB(2/10) AAS
>>576
俺の質問にアンカーつけといてどの質問はねえだろ
恥ずかしくてとぼけてんのおまえさんだろ
579: 2021/02/07(日)08:29 ID:p49/UnNX(1/8) AAS
テストはやらないよりもやったほうがはるかに良い
前の版通ったテストが最新版でも通るという品質は担保される
殺虫剤のパラドックスよりも恐れなければならないのは
いっぱい作ったテストコードが事実上同じテストでしかないという事態になることの方
※ 個人の感想です
580
(1): 2021/02/07(日)08:49 ID:m5BD34IK(1/2) AAS
>>578
別に完璧になくせるなんて誰も言っていないのに勝手にツッコんでるの何?としか思ってないよ
581
(2): 2021/02/07(日)08:57 ID:HYoiJUgB(3/10) AAS
>>580
おまえさん、こう言ったんだぜ

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

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

揃えられるものなら揃えてみな
自分ができねえことを他人に言うな
582: 2021/02/07(日)09:11 ID:p49/UnNX(2/8) AAS
人は思い込みを反証することで生きていける
だが完璧に反証できないこともある
ユニットテストはそのかけがえのないものを教えてくれた
583: 2021/02/07(日)09:41 ID:m5BD34IK(2/2) AAS
>>581
え?それ俺じゃないけど
テストやればバグが無いといえるわけじゃないから安心するなってだけで、テストするなって話じゃないよね
主旨は同じだよね
何が気に入らないの?
584: 2021/02/07(日)10:00 ID:HYoiJUgB(4/10) AAS
ああ、俺じゃないで逃げるのか
情けねえやつだな
585: 2021/02/07(日)10:07 ID:jX/y7Db/(2/5) AAS
>>578
アンカーつけてると言うなら
> >>570ならリンク先読めばいいだけだろ
って書いてあるだろ
よほどアホでもない限りそんなアホなこと言うわけ無いと思ったからどれ?
って聞いたんだけど、想像以上のアホだったってことかな?w
586: 2021/02/07(日)10:10 ID:jX/y7Db/(3/5) AAS
>>581
不具合はなくせないから仕組みも努力もいらんと言うならそれでいいんじゃね?
お・ま・え・ん・と・ろ・こ・で・は w
587
(2): 2021/02/07(日)10:13 ID:2AGAGJ05(1/3) AAS
マスクも手洗いもコロナを100%防げるわけじゃないから
マスク付ける必要も手を洗う必要もないね
588: 2021/02/07(日)10:20 ID:HYoiJUgB(5/10) AAS
テストツールいらねえなんて言ってねえぜ
テストツール万能論はアホの考えだと言っている
589: 2021/02/07(日)10:21 ID:HYoiJUgB(6/10) AAS
で、身に覚えのあるやつが返事してるから
ニヤニヤ笑ってるのさ
590: 2021/02/07(日)10:48 ID:2AGAGJ05(2/3) AAS
「テストツール万能論」を主張したレスなんて一つも見えないんだけど
存在しないものを見てニヤニヤしてる変態こわい
591
(1): 2021/02/07(日)10:56 ID:HYoiJUgB(7/10) AAS
それを>>587がぬかすとは笑止な
592: 2021/02/07(日)11:11 ID:0QEz1MW7(1) AAS
構い過ぎじゃね?
593
(1): 2021/02/07(日)11:52 ID:jX/y7Db/(4/5) AAS
>>591
まさかと思うけど>>587がマジで言ってるとか思ってないよね?w
594: 2021/02/07(日)12:03 ID:2AGAGJ05(3/3) AAS
ああ・・・そういうことね・・・すまん触るべきじゃなかった
595: 2021/02/07(日)13:47 ID:p49/UnNX(3/8) AAS
すまんで済んだらユニットテストは要らんわ!
596: 2021/02/07(日)14:09 ID:qbLU6RFF(1) AAS
野菜食えで馬鹿みたいにブチギレるホリエと一緒やな
597
(1): 2021/02/07(日)15:05 ID:HYoiJUgB(8/10) AAS
>>593
奴は「必要ないね」とぬかしたんだ
別に武漢熱に話をすり替えようとすり替えまいとそこは関係ない
598
(2): 2021/02/07(日)15:41 ID:yi1XmM9H(1/3) AAS
>>597
文章を字面通りにしか解釈できない人?
599
(4): 2021/02/07(日)16:31 ID:jcLu/xd9(1/2) AAS
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が作られちゃったぽいのですが
これだとメモリを倍使っちゃってるし、時間も掛かってますよね
どういうふうにしたら、喚ばれた側の関数で参照渡しに出来るのでしょう
600
(3): 蟻人間 ◆T6xkBnTXz7B0 2021/02/07(日)16:37 ID:sfdJNFTq(1/2) AAS
>>599
右辺値参照かstd::swap
601: 2021/02/07(日)17:13 ID:8CWTHaUD(1/2) AAS
>>600
サンプル貼ってよ
602
(2): 2021/02/07(日)17:21 ID:jcLu/xd9(2/2) AAS
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の例も出してくれたらこれから色々いたスカリマス
603: 2021/02/07(日)17:24 ID:8CWTHaUD(2/2) AAS
>>600
ほれほれ
貼れんのか
604: 2021/02/07(日)17:28 ID:yi1XmM9H(2/3) AAS
>>599
参照渡し自体はできてるはず。
ただ参照渡ししたvectorをクラスのメンバに代入して、代入されたクラスメンバの方を更新しているからvectorを渡した元の方にはまったく影響が無いというだけ。
605: 2021/02/07(日)17:29 ID:jX/y7Db/(5/5) AAS
>>598
もうそう言うことにしないと自我が保てないんだろw
606: 2021/02/07(日)17:59 ID:p49/UnNX(4/8) AAS
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"; //値が変わった!(予定
}
};
607
(1): 2021/02/07(日)18:00 ID:HYoiJUgB(9/10) AAS
>>598
だったら何だとぬかす気だ?
> 存在しないものを見てニヤニヤしてる変態こわい
> 文章を字面通りにしか解釈できない人?

要するに話になんない奴ってことだろ
言ったことにも裏の意味にもコメントされたくない
じゃあ相手しねえでやるから黙ってろゴミ
608: 2021/02/07(日)18:02 ID:p49/UnNX(5/8) AAS
訂正orz
誤: private: std::vector<short> _stdSansyo;
正: private: std::vector<short>& _stdSansyo;

もしcSansyo.setSansyo(moto)の呼び出し時に参照を渡したいんじゃああ!
という向きにはsansyo::_stdSansyoはstd::vector<short>* _stdSanshoにして
ポインタを持つようにすべき
609: 2021/02/07(日)18:10 ID:p49/UnNX(6/8) AAS
ちゅかもっと大きな一般原則としてつぎのどっちかにすべき
(1) std::vector<short>の実体の所有権をmain()(で定義いているmoto)に固定してcSanshoクラスにmotoのアドレスを記憶させない
(2) std::vector<short>の実体の所有権をcSanshoクラスのインスタンス(_stdSansyo;)に固定してmain()でmotoを定義するのをやめる
※ 個人の感想です

つまり出題が悪い。出し直し
610
(1): はちみつ餃子 ◆8X2XSCHEME 2021/02/07(日)18:10 ID:hHDgzHUe(1) AAS
>>602
元の考え方を変えずに動作させるにはその方法は十分に妥当だと思うよ。

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

可能なら全体のデザインを見直すべきという話で、
いっそ所有権を渡してしまったほうが間違いにくいかもねという意味で右辺値参照や swap の話題が出ているので、
>>599 をベースにして右辺値参照や swap を使う例に書き換えるのは難しい。
別物になってしまう。
611
(2): 2021/02/07(日)18:11 ID:yi1XmM9H(3/3) AAS
>>607
自分以外の複数の人を同一人物だと思っちゃう人?
612: 2021/02/07(日)18:14 ID:p49/UnNX(7/8) AAS
>>611
ネットの総意とか言い出しちゃう人?
613: 2021/02/07(日)18:16 ID:p49/UnNX(8/8) AAS
検証不能な事物を錦の御旗にするような人間が
ソフトウェアのテスト推しなのは
大いなる矛盾である氏ね
614: 2021/02/07(日)18:18 ID:HYoiJUgB(10/10) AAS
>>611
あの流れで
> 文章を字面通りにしか解釈できない人?
なんてぬかすやつは複数ID自演厨と見なされて当然だ
疑われたくなければ口の利き方に気をつけな

疑いは晴れてない
この後の発言にも気をつけるんだな
615: 2021/02/07(日)18:24 ID:4v/nAOdw(1) AAS
>>566
なにこれ
616
(1): 2021/02/07(日)18:29 ID:U/6f7Qk0(1/3) AAS
参照をフィールドに保持するのは、一部のパーサーくらいでは?

しかも、状態を関数に切り分けないとデバッグが辛いので、仕方なくそうするだけで、バッド何とかの類だし。
617
(1): 2021/02/07(日)18:31 ID:U/6f7Qk0(2/3) AAS
むかし5chで誰かが、プログラムを書くときは必ずテストしてるはずなんだって言ってましたが。
それを単体テストとして書いておけばずっと使えて便利だよと。

その書き込みを見て世界中の人がテストフレームワークを書き始めたんですよ。
618: 2021/02/07(日)19:06 ID:n+epGkV9(1) AAS
>>616
想像力が足りなすぎ
>>617
想像力が豊かすぎ
619: 2021/02/07(日)20:53 ID:U/6f7Qk0(3/3) AAS
バッドエンディングですね。
620: 2021/02/07(日)21:03 ID:ZOvCZ0cx(1) AAS
グローバル変数使うなとは言わないけどコメントもないのはキツい
grep掛けて検索しても訳分からん
ポインタで飛び火してるときなんてもう…
621: 2021/02/07(日)22:09 ID:IiZq+u+t(1/2) AAS
演算子オーバーロードの厄介さはキーワード検索で拾いにくいこと。
反復子もそうだが。ま、言い出したらきりないが。
1-
あと 381 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.040s