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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
66
(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ 2a3e-By03) [sage] 2023/12/05(火) 11:22:18.93 ID:z5PiblaY0(1/4) AAS
>>63
63(2): デフォルトの名無しさん (ワッチョイ 791f-q5uF) [sage] 2023/12/05(火) 10:33:06.64 ID:HLoKrA0o0(1) AAS
ふと今更思ったんだけど
ポインターpに対して演算子*が返す*pは、
値じゃなくて参照?
ポインター p に対して *p とした場合の型は参照ではない。
たぶん >>64
64(1): デフォルトの名無しさん (ワッチョイ b501-sZSb) [sage] 2023/12/05(火) 11:05:15.15 ID:E3GJtsiR0(1/3) AAS
#include <type_traits>
#include <iostream>
using namespace std;
int main () {
int value {0};
int *p {&value};
cout << is_reference <int>::value << '\n';
cout << is_reference <int &>::value << '\n';
cout << is_reference <decltype (value)>::value << '\n';
cout << is_reference <decltype (*p)>::value << '\n';
return 0;
}
は *p が参照と言いたいつもりで書いているんだと思うけど
decltype に与えられる式の型が T 型の lvalue だった場合には T& が返されるルールなので
その式が参照でなくても参照が返されることがある。
91: デフォルトの名無しさん (ワッチョイ cf63-nyJS) [sage] 2023/12/24(日) 19:34:37.93 ID:foDTiHm90(3/5) AAS
レス㌧クス、
>ストリームのオブジェクトが幅に関する情報を保存するデータメンバを持っていて、それを変更してる。
なるほど……
これはユザーの立場からはメンバの追加ができない領域なので、Fooの側にメンバを持たせることにしますか……
class FooWrp {
  const Foo& m_objRef;
  int m_nWidth;
public:
  FooWrp(const Foo& obj, int width) : m_objRef(obj), m_nWidh(width) { }
  friend std::ostream& operator<<(std::ostream& os, const FooWrp& wrp) { ...(wrp.m_objRefの要素をwrp.m_nWidthに描かれている幅で出力する処理)... }
};
182
(1): デフォルトの名無しさん (ワッチョイ 66cf-5eDQ) [sage] 2024/01/28(日) 12:02:32.93 ID:Gsm093HM0(1/3) AAS
catchしようがしまいが、例外が起きて 処理A→B→return となるのは同じだと思うが。
その場合の検証が必要だというならどっちも必要だろ。
227: デフォルトの名無しさん (オイコラミネオ MMeb-tjaG) [sage] 2024/02/08(木) 18:56:00.93 ID:DVUqgRU9M(2/2) AAS
>>225
225(1): デフォルトの名無しさん (ワッチョイ bfa4-syIJ) [sage] 2024/02/07(水) 20:52:20.31 ID:L6yrYnPT0(1) AAS
>>222
32bit環境には64bit整数はないと思ってるの??
そういう問題ではないようですが。
399: 青木康善 (ワッチョイ 0bc8-ANSA) [] 2024/08/08(木) 00:15:58.93 ID:Qfze0mfg0(1) AAS
マジっすか?Cの20倍?しかし、専門学校の先生に、青木!バカもん!プログラミング言語Cが一冊で事足りる、と言われても、高校数学でつまづいて大鬱病になったんで、問題が解けない。。。有隣堂本店さんで、リッチーの本置いているから、いつか買います!
404: デフォルトの名無しさん (スフッ Sd33-QylA) [] 2024/08/10(土) 23:52:09.93 ID:oQf4NdPPd(1) AAS
御巣鷹山ノボレ
451: デフォルトの名無しさん (ワッチョイ 91ea-IbtD) [sage] 2024/09/08(日) 01:27:17.93 ID:6Lpw1aoe0(1) AAS
持ってるポインタの指す先のオブジェクトがアトミックになるとか言ってると思ってんの?アホかw
466
(1): 447 (ワッチョイ d763-HdVQ) [sage] 2024/09/21(土) 20:05:42.93 ID:FUSKAHoo0(1/3) AAS
何やら集中砲火を浴びている>>442
442(4): デフォルトの名無しさん (ブーイモ MM7f-5+wm) [sage] 2024/09/06(金) 11:54:45.03 ID:onD85wsiM(1) AAS
>>440
マルチスレッドセーフ考えたら使わざるを得ない場合は多々ある
言ってる意味がわからないならお前は経験不足
やが
マルチスレッド状況でshared_ptr<T>を超有効活用できる手が一つあったわ;;;

スレッド間の共有オブジェクトをポインタpで保持する際の問題点は、
そのポインタを知っている複数スレッドの間でpが指すオブジェクト*pへのアクセスを悉く排他制御せなばならない点やが
逆にpを知っているスレッドが任意の時刻につき1つだけなら、オブジェクトのアクセスに対して排他の必要が無い
それでいてスレッドへのデータの受け渡しに関してコピーの手間は減らせる

例:
なんちゃらWorkerスレッドオブジェクトをshared_ptr<Worker>のキューで保持しておく
スレッドfooが使うときWorker1をshared_ptr<Worker>としてpopする(←これは排他が要る
スレッドbarが使うときWorker2をshared_ptr<Worker>としてpopする(←これは排他が要る
...
(スレッドfooやbarはWorker1、2をそれぞれ独占的に使用できる) ←重要
...
スレッドfooが使い終わったWorker1をキューにpushする(←これは排他が要る
スレッドbarが使い終わったWorker2をキューにpushする(←これは排他が要る
470: デフォルトの名無しさん (ワッチョイ 1e52-VArp) [sage] 2024/09/25(水) 13:57:54.93 ID:N5yN4IuU0(1) AAS
>>466
>>442 を書いたのおれだけど、なんでおれが集中砲火浴びてることになってんだよ
生ポとか意味不明なこといってる>>447
447(2): デフォルトの名無しさん (ワッチョイ 8763-0xUn) [sage] 2024/09/07(土) 20:17:38.39 ID:Ci+xhqlU0(1/2) AAS
>>442
むしろshared_ptr<T>でスレッド間共有オブジェクトを保持するのは
生ポに対するshared_ptr<T>のメリットが無い……
可能な限りスレッド間共有なんてことはやめてconstオブジェクトのコピーにするのが正義……

>>439
自己参照ではないが前方宣言が必須の例、
class TreeNode;

class TreeNode {
  std::shared_ptr<TreeNode> m_pLeft;
  std::shared_ptr<TreeNode> m_pRight;
public:
  TreeNode();
  ...
};
  
は一見してわかるクソレスだろ

おまえはそれ以上のクソレスにクソコード
でもお前の勝ちだ
クソコードに2週間かけた情熱に免じて親切におしえてやるわ

shared_ptrはpに誰かがアクセスしている可能性がある間は決してdeleteされないことを保証できるのが肝
(pの先の排他ではこれは実現できない)

もちろんこれも正しく使わないと保証できない
よくあるミスは知ったかぶって参照カウントを操作しないようにshared_ptrを参照渡しとかにするやつな
その間に絶対deleteされない保証がないならやってはいけない
568: デフォルトの名無しさん (ブーイモ MM02-iirp) [sage] 2024/11/19(火) 17:03:01.93 ID:cTSQFdSPM(1) AAS
JAVAはコボラーが転んで使う言語だし
624: デフォルトの名無しさん (ワッチョイ b701-5W+W) [sage] 2024/12/02(月) 22:58:33.93 ID:6C6t/Sm50(2/2) AAS
>>622
622(1): デフォルトの名無しさん (JP 0Hf2-Dj8N) [] 2024/12/02(月) 22:40:34.32 ID:/dQ47H+wH(2/2) AAS
ああ、そう。
ところで、A(i,j)が添字0から始まるのが気にならないんだ。じゃあ、もうええわ。
日本語の意味が分からんと書いている
0オフセットが嫌ならiやjから1引けば良かろうもん?
718: デフォルトの名無しさん (スッププ Sd33-F7vG) [sage] 2025/03/05(水) 19:45:37.93 ID:7KFkamxVd(1) AAS
AIについて語りたいならスレ違い。
726: デフォルトの名無しさん (ワッチョイ 117c-9dXb) [sage] 2025/03/06(木) 19:34:30.93 ID:e0LjRkKt0(1) AAS
最近Rustに押されてるのは検索性の悪さと無関係じゃないと思う
804
(1): デフォルトの名無しさん (アウアウウー Saa5-WcQO) [sage] 2025/03/26(水) 15:00:53.93 ID:NpEBbPpga(1) AAS
>>802
802(1): デフォルトの名無しさん (ワッチョイ 6e6c-JaxA) [] 2025/03/26(水) 11:17:13.88 ID:ZFGsgZnF0(1) AAS
Makefileを作る時の$<と$?と$^の使い分けを教えて下さい
特に$<が何のためにあるのか分かりません。これだと2番目以降の材料が無視されてしまって動かない場合があるんじゃないかと心配になります。あと、makeは常に新しい材料のみコンパイルするという事は、すべてのケースで$?で良いのではと思ってしまいます。超初歩的な質問だと思いますがよろしくお願いします
外部リンク:tex2e.github.io
920: デフォルトの名無しさん (ワッチョイ 7fa1-0ra6) [sage] 2025/04/13(日) 10:18:45.93 ID:MoeuBZp20(1/4) AAS
アイタタタ……つ∀`;)
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.040s