C++相談室 part166 (617レス)
1-

1: sage (ワッチョイ 8732-NXaD) [] 2025/04/26(土) 10:34:58.41 ID:pbPDl6lv0(1/2) AAS
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を3行貼り付けること

次スレは>>980が立てること
無理なら細かく安価指定

※前スレ
C++相談室 part165
2chスレ:tech VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
593
(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ 5932-oZZu) [sage] 2025/08/23(土) 02:11:02.56 ID:CHT0FIec0(1/2) AAS
>>592
592(1): デフォルトの名無しさん (ワッチョイ 7101-Im4V) [sage] 2025/08/23(土) 01:57:32.43 ID:HIKpDy1T0(1/2) AAS
構造化束縛を調べてみたら
fooの返り値はtupleでなくてもpairで返しても良さそうなんだけど
どういうルールなの? キモい
それがタプルライクの概念。
std::tuple_size の特殊化など、いくつかのインターフェイスを実装すればタプルと同じように扱ってくれる仕組み。

それとは別に配列の場合とか、全てのデータメンバが公開直接メンバなクラスもありということになってるのは単純に箇条書きで数種類のパターンを示す形になってる。
それほどパターンが多くはないがひとつの原則で表せるわけでもない。
594: デフォルトの名無しさん (ワッチョイ 7101-Im4V) [sage] 2025/08/23(土) 02:22:04.99 ID:HIKpDy1T0(2/2) AAS
>>593
>それほどパターンが多くはないがひとつの原則で表せるわけでもない。
キメぇよw
595: デフォルトの名無しさん (ワッチョイ 2b10-fgJ7) [sage] 2025/08/23(土) 09:17:36.36 ID:rBYkDYvT0(1) AAS
構造的部分型とか静的ダックタイピングって呼ばれるやつ?
596
(1): デフォルトの名無しさん (ワッチョイ d326-PSkW) [] 2025/08/23(土) 13:12:32.34 ID:wVRYzYK20(1) AAS
>>591
591(1): デフォルトの名無しさん (ワッチョイ d1d6-uNzz) [sage] 2025/08/23(土) 01:30:59.35 ID:ynkOCuVA0(1) AAS
//こんな感じ?
#include <iostream>
#include <tuple>
using namespace std;
tuple<int, float, long> foo() {
return {1, 2.1, 99};
}
int main(){
auto [r1, r2, r3] = foo();
cout<<r1<<endl;
cout<<r2<<endl;
cout<<r3<<endl;
return 0;
}
int r1;
float r2;
long r3

r1, r2, r3 = foo();

って書きたいですね。Pythonみたく
597: はちみつ餃子◆8X2XSCHEME (ワッチョイ 51e2-oZZu) [sage] 2025/08/23(土) 13:15:39.41 ID:DefMPT1k0(1) AAS
代入のときは tie を使う。
598: デフォルトの名無しさん (ワッチョイ c9bc-zJwz) [] 2025/08/23(土) 15:01:16.09 ID:p3yrvAiP0(1) AAS
テンプレートの黒魔術で脳汁出てからが本番
599: デフォルトの名無しさん (ワッチョイ 5be0-Srv/) [sage] 2025/08/23(土) 15:37:03.06 ID:T+HzfXMC0(1) AAS
>>596
別の言語っぽくって考えは捨てた方が身のため
600: デフォルトの名無しさん (ワッチョイ 9379-XJDV) [sage] 2025/08/23(土) 19:08:06.22 ID:VwZegIlc0(1) AAS
666!
601
(1): デフォルトの名無しさん (スフッ Sdb3-im2P) [] 2025/08/23(土) 19:56:19.30 ID:k0uySdFmd(1) AAS
struct {
int r1,
float r2,
long r3
} t;
t = foo();
って描きたい
struct に tuple からのコンストラクタを実装すれば良いのかな
602: はちみつ餃子◆8X2XSCHEME (ワッチョイ 5932-86vp) [sage] 2025/08/23(土) 20:18:30.70 ID:CHT0FIec0(2/2) AAS
>>601
最初から foo がその型で返せばいいんでないの?
603: デフォルトの名無しさん (ワッチョイ 6dad-W0Wb) [sage] 2025/08/24(日) 12:07:46.50 ID:HqphwiLf0(1) AAS
C言語から続くカンマ演算子が分かってないんでは?
604: デフォルトの名無しさん (ワッチョイ fee0-ea+o) [sage] 2025/08/24(日) 12:09:48.21 ID:gU3L8vdd0(1) AAS
Pythonあがりだから型を定義する意味がわかってないんだと思う
605: デフォルトの名無しさん (ワッチョイ 15d6-VoZ8) [sage] 2025/08/25(月) 07:55:54.04 ID:O202BBJ90(1) AAS
a=10
a=’hello'
翻訳しながらだからできるんだろうけどね。
606: デフォルトの名無しさん (ワッチョイ 86cf-tcs3) [sage] 2025/08/25(月) 08:19:19.75 ID:X23BjBGY0(1) AAS
>590
590(1): デフォルトの名無しさん (ワッチョイ 51a5-VfJp) [sage] 2025/08/22(金) 23:03:10.61 ID:5NhjtIih0(1) AAS
そうやね。Pytnonのカンマは、言語仕様上は演算子とは一応区別されているみたいだけど、感覚的には演算子だよね。何で演算子ではないんだろうというのはちょっとした疑問だけど(1, みたいなのを後置演算子と呼ぶのはちょっと変とかそういうことかな?)
左辺にも現れるからじゃね?
607: 初心者プログラマー (ワッチョイ d5ce-rKTE) [] 2025/08/28(木) 17:50:07.17 ID:GULY1B8W0(1) AAS
cppでbazelでmediapipeのビルド方法を教えてくれる方はいませんか?

自分の環境

Visual Studio Community 2022
Windows11  64 ビット
scoopでbazel 5.3.0
Python 3.10.0
608: 青木康善 (アウアウウー Sa47-Rd44) [sage] 2025/09/07(日) 03:16:03.97 ID:Fgms30k2a(1) AAS
なんか、javaより簡単に思えてきました。
609: はちみつ餃子◆8X2XSCHEME (ワッチョイ 1732-F+lb) [sage] 2025/09/07(日) 06:54:14.37 ID:Ur1gsBeL0(1) AAS
そうか。
610
(1): デフォルトの名無しさん (ワッチョイ dbd6-ERpe) [sage] 2025/09/07(日) 07:39:38.11 ID:yhbLpr+z0(1/2) AAS
obj1=obj2;
の後obj2を変更すると、obj1が書き換わってまってびっくりして
その後、Javaが怖い親父です。
611: デフォルトの名無しさん (ワッチョイ 7f5f-Z2G8) [] 2025/09/07(日) 13:56:14.79 ID:ZFShxqYO0(1) AAS
C/C++もポインタを代入するとそうなるよ
612: デフォルトの名無しさん (ワッチョイ a380-1jR+) [sage] 2025/09/07(日) 15:17:34.87 ID:DiKqvn8B0(1) AAS
この親父他の言語ほぼ使えんだろ
613
(1): デフォルトの名無しさん (アウアウウー Sa47-Y7lD) [] 2025/09/07(日) 15:34:33.99 ID:AK/wIzqla(1) AAS
普通 外部リンク:ideone.com
p=[3,1,2]
q=p
p[1]=0
print(q)
614
(1): デフォルトの名無しさん (ワントンキン MMe6-+IOe) [sage] 2025/09/07(日) 16:53:15.89 ID:2DaEs5aKM(1) AAS
>>610 >>613
それはオブジェクトへの参照の競合が起きてる
それぞれで書き換え更新または読み取り中の書き換えをすることでスパゲッティなコードを招いてしまう
その競合をコンパイルエラーにして防いでくれるのはRustだけだと思う
615: デフォルトの名無しさん (ワッチョイ dbd6-ERpe) [sage] 2025/09/07(日) 17:20:59.28 ID:yhbLpr+z0(2/2) AAS
>>614
c/c++なら、ポインタなのか参照なのか見ればわかるし、
まずコンパイラが型をチェックしますんで。はい
616: デフォルトの名無しさん (ワッチョイ 1ba6-aHNR) [sage] 2025/09/07(日) 17:34:06.57 ID:5bTmv8Qp0(1) AAS
参照メインの言語で書き換えを頻繁に行うとそりゃ事故るよ、注意力にも限界がある
値の書き換えをするならC++のように変数が直接値を持つ言語がいいし
参照をメインにするなら関数型言語のようにimmutableを基本にするべきだ
617: デフォルトの名無しさん (オッペケ Sr3b-wO3q) [sage] 2025/09/07(日) 18:17:46.03 ID:kASsF2K3r(1) AAS
ないしは、q=p; ってしたときに、pがダメになってくれるか
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.378s*