C++相談室 part159

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2022/02/19(土) 11:56:42.14ID:kSnJ/KwP
前スレ
C++相談室 part158
https://mevius.5ch.net/test/read.cgi/tech/1636969758/
2022/03/14(月) 12:27:46.01ID:alz+gcb+
カトラーも昨日で80歳なんやで
2022/03/14(月) 12:28:28.21ID:7hHUAGdp
>>504
はえー
ええところに住んでいたんやな
森林公園のそばか?
507デフォルトの名無しさん
垢版 |
2022/03/14(月) 12:32:31.77ID:VKZDzId0
c++17までカバーしてる良書教えてちょ
2022/03/14(月) 13:39:35.57ID:9629WIm4
俺の周りだと本物の老害は数が少なくて、脳が老害化してるアラサー前の若者が大多数だな
509デフォルトの名無しさん
垢版 |
2022/03/14(月) 14:53:18.27ID:2N61p2oq
ニュース ・ トレンド
世界供給の約半分カバー
トレンドトピック: マック最終日、半導体不足

ツイッターのトレンドだけ見てたらAppleのマックのほうに見えるよな
2022/03/14(月) 16:35:39.58ID:GQP59fXj
>>506
美濃屋の工場らへん
2022/03/14(月) 18:24:00.75ID:7hHUAGdp
>>510
もしかして本牧あたり?
2022/03/14(月) 20:13:17.28ID:GQP59fXj
>>511
美濃屋の工場は現存してるからググるマップあたりで調べてみては?
今はどうか知らんが当時は割れせんをタダでくれてたので
未就学のガキがお使いしてた、そいういう距離だ
2022/03/15(火) 22:33:04.75ID:x6RxSJEa
追ってたらオッサンの会話にしか見えないやんけw
2022/03/15(火) 23:43:47.86ID:IA+izEeV
>>508
いや実際今の若人のほうが老害化(頭がカチカチ)になってるパターン多いよ
なんつかーSNSとかの弊害だろうな、方法論にはつねに正解があってそこからはずれるのは全部ダメ!
みたいな、自分で試さずに「誰某というカリスマが言うてるのが正しい」みたいな発想のやつが多い
2022/03/16(水) 00:07:07.20ID:kR1ttM2X
常にググって解法らしきものを見つけることを研鑽してきた弊害やろな。
誰かの踏襲しか出来ん、本人一人しかやってない、
どこにも参考資料なしとなったら思考停止か
もしくはあきらめちまう層。
2022/03/16(水) 00:36:18.16ID:892EcJv9
分野の蓄積が多くなるとそうなのかもね
2022/03/16(水) 01:22:56.72ID:dDBzFjnz
ム板でC++の規格以外の話をすることは板違い
2022/03/16(水) 08:57:09.69ID:eFhooB6a
>>515
デンマーク人やアメリカ人が作った言語にタダ乗りしてるジャップ全体に当て嵌まるな
年齢関係ねぇ
2022/03/16(水) 09:28:03.54ID:9b9buJuo
>>518
朝鮮人は板違い
2022/03/16(水) 09:47:16.21ID:sZ1wd+Ly
和製言語つーとRubyとか?
2022/03/16(水) 10:01:22.67ID:qWEoTKGw
>>519
ジャッッッッッップwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
2022/03/16(水) 10:50:04.72ID:sZ1wd+Ly
>>518
タダ乗りか?
言語は使い手がいなきゃ消えていくだけだぞ

若害を指摘されてムカついたのかも知れんが
的外れな逆ギレは相手の主張を補強するだけだ
2022/03/16(水) 11:00:56.73ID:UOk2lOR/
>>518
日本に寄生しているチョン君に言われてもねぇ
日本人は色々と貢献しているけどチョン君ときたら自分さえ良ければだからな
2022/03/16(水) 11:26:21.48ID:NlrnkDXA
>>521
火病w
2022/03/16(水) 11:33:19.05ID:FLjIdsXf
さすがに極東板かマ板行け。
2022/03/16(水) 11:41:44.02ID:w0SS0fac
ネタにマジレスするのもあれだが、国民的アプリすらも実質韓国産という惨状なのに韓国をバカに出来る神経が本当に分からない
まぁそれこそアメリカ人とかであれば分かるが
2022/03/16(水) 11:52:37.30ID:sCgw3/BF
>>526
あれは日本人プログラマーをハンティングして作らせて完成した途端にクビにしたんだな
知らないとでも思ってんのかよ
さすがバ姦酷
2022/03/16(水) 11:58:06.63ID:ken1LPi5
>>527
体調わるいときはネット断ちして寝てた方がええよ
お前のお母さんみたいに無理して死んだら元も子もないよ
2022/03/16(水) 12:29:23.19ID:eFhooB6a
>>527
シナチョンジャップってお互いにお互いで起源主張マウントし合ってるよな
そしてお互いにお互いを起源主張と罵り合ってるのがほんま笑える
2022/03/16(水) 12:29:53.35ID:fL7hhvH/
>>529
祖国にお帰り
531デフォルトの名無しさん
垢版 |
2022/03/16(水) 15:21:21.65ID:OMEE91WJ
EclipseでGNU Autotoolsでビルドしたいんだけど、ワンクリックでファイル構成をパースしてMakefile.amを作ってくれるプラグインてないんかな?
2022/03/16(水) 16:43:46.25ID:IF2KaGKL
>>531
https://gammalab.net/blog/3rgve9rdw2kt5/
2022/03/16(水) 17:21:01.73ID:dC1HWmI+
defaultって単語が熱いなぁ
2022/03/16(水) 17:26:44.65ID:sZ1wd+Ly
ロシア国債?
2022/03/16(水) 17:43:54.03ID:AUMfJKJU
ルーブルをreturnするから問題ない
2022/03/16(水) 17:44:36.81ID:dC1HWmI+
C++11で正式採用されて11年経つというのに関数のdefault宣言を一度も使ったことがないわ
2022/03/16(水) 17:47:40.89ID:lLYtmIck
ええ…
2022/03/16(水) 17:49:13.58ID:dC1HWmI+
>>535
迷惑度でいうとreturnというより例外クラスをthrowする感じに近いですね
2022/03/16(水) 17:51:06.34ID:sZ1wd+Ly
>>536
= default; より
{} のほうが短いってこと?
2022/03/16(水) 17:54:01.36ID:dC1HWmI+
短いとは?
2022/03/16(水) 17:56:55.95ID:sZ1wd+Ly
ソースコードの文字数
2022/03/16(水) 19:05:34.58ID:gvdy2Zu4
bool oprator==(const ThisClass&)const = default;
は便利だぞ
2022/03/16(水) 19:32:49.28ID:YdzJshEX
{}の定義はtrivial判定にならないからなあ
2022/03/16(水) 20:15:30.86ID:dC1HWmI+
関数のdefault宣言を今まで一度も使ったこと人、正直に手を挙げなさい
2022/03/16(水) 20:54:55.18ID:J1wyaesr
2022/03/16(水) 22:03:43.15ID:LiWeOEyq
そもそもdefault宣言がわからない
何?
2022/03/16(水) 22:17:44.96ID:jNwWVkZm
struct C{
C();
C(const C&);
C(C&&);
C& operator=(const C&);
C& operator=(C&&);
~C();
// fields
int i;
std::string s;
};

class/structのうちコンストラクタとかの特殊関数を「何も考えずに実装したらこうなるよね」ってのを明示的に宣言する。

上のstructに初期化用の C(int, std::string); も追加するけど元のコンストラクタもそのまま使いたいときとか C()=default; を書いておく。
548デフォルトの名無しさん
垢版 |
2022/03/16(水) 22:32:26.86ID:aL91bHGW
じゃあ便乗して

>>547
&&の意味を教えてください
const &の代わりになるんですか?
2022/03/16(水) 22:40:15.82ID:J1wyaesr
>>547
あーなるほど
便利かもな
2022/03/16(水) 23:08:39.16ID:jNwWVkZm
>>548
T&&は右辺値参照
C++11で導入された「もう使わない値」を使いわますための仕組み

わかりやすい例だと
std::vector<int> mk10000(){
// 10000要素のvectorを適当に作って返す
}

struct C{
using ivec=std::vector<int>;
ivec _v;
C(const ivec&v): _v(v){}
C(ivec&&v): _v(std::move(v)){}
};

int main(){
C c(mk10000());
}

const T&のやつしかないと、vectorが持ってる10000要素を全部コピーするしかないが、
(その直後にもう使わないコピー元を破棄しなきゃいけない)
T&&のやつがあるとvectorが内部で持ってるポインタを差し替えるだけで済む。
2022/03/16(水) 23:19:48.63ID:0TydPa2f
それだけじゃ誤解しか生まないw
https://cpprefjp.github.io/lang/cpp11/rvalue_ref_and_move_semantics.html
2022/03/16(水) 23:26:37.67ID:Jym8C6W+
昔はswap咬ましてたヤツだな
2022/03/17(木) 00:06:29.74ID:duMzaOgi
shared_ptr使えばいいじゃない
2022/03/17(木) 00:35:48.54ID:Oo+Bui2i
メモリポインタの差し替えか
555デフォルトの名無しさん
垢版 |
2022/03/17(木) 00:43:42.18ID:DrTp92yO
>>550
>>551
ありがとうございます

普通の変数
左辺値参照
右辺値参照
ポインタ
ポインタのポインタ
etc...

うーんC++は頭が痛くなりそうですね
2022/03/17(木) 01:50:00.57ID:jsnVHM5N
>>544
(´・ω・`)の
2022/03/17(木) 01:50:25.35ID:faeKJv0z
そんなことくらいで頭が痛くなるなら、むしろやめとけw
2022/03/17(木) 03:32:17.05ID:kCjHZQsl
昨今のコード書かない言語オタクのオナニー拡張はスルーしてよい。
2022/03/17(木) 13:38:21.60ID:faeKJv0z
そのまま動かない部分コードだけ書くバカを除いたら、大抵のスレは多分俺しかコード書いてないけどねw
2022/03/17(木) 13:52:55.92ID:86Z8hvJ4
ム板で「俺はコード書いてるぞ、どうだ偉いだろうエッヘン」
これ寒すぎるんだけど・・・
2022/03/17(木) 14:50:03.04ID:zTqRydhk
ム板だからこそコード書く奴は偉いと思うぞ
ただ実際に書いてる奴はいちいちそんなことを自慢気に書いたりしないけどなw
2022/03/17(木) 14:53:55.54ID:86Z8hvJ4
偉いのか? やっと一人前の板民というだけだろ
コード書かないやつがム板ではアウェーなだけで
そこから相対的に見て偉いと言うことにどんな意味があるんだ
2022/03/17(木) 15:07:05.49ID:zTqRydhk
>>562
> コード書かないやつがム板ではアウェーなだけで
お前は自分がアウェーという意識を持つべき
2022/03/17(木) 15:22:32.44ID:86Z8hvJ4
>>563
そこで喧嘩腰かよ

実際に書いてる奴はいちいちそんなことを自慢気に書いたりしないと言ったばかりの
舌の根も乾かぬうちにそれか

頭冷やせ、話はそれからだ
2022/03/17(木) 15:33:03.66ID:faeKJv0z
>>564
コラコラお前は煽るなw
俺は>>558に俺のことスルーできなくなっちゃうけどいいの?って言っただけだよ
やれマウントだやれドヤ顔だとか、ホームとかアウェーとか、その手の話しはじめちゃうやつはちょっと発想がやばいって
あと承認欲求なんていくら高くてもクソの役にも立たんぞw
2022/03/17(木) 15:37:19.10ID:kCjHZQsl
なにケンカしてるん? おまえら仲良くしろよな^^
2022/03/17(木) 15:39:26.58ID:86Z8hvJ4
>>565
何が? 俺煽ってないよ
唯一、批判めいたことを言ったのは560だけ

例えばだが562に青筋立てるようなら
俺はコード書きませんと自己申告しているようなものだぞ
2022/03/17(木) 16:00:27.96ID:kKKT9czh
>>562みたいなことを書く奴に喧嘩腰とか言われてもなぁw
ちょっと頭冷やした方が良くね?
2022/03/17(木) 16:03:43.13ID:86Z8hvJ4
>>568
あれ? 否定しないのか
だったら話にならないな
2022/03/17(木) 16:15:46.57ID:0FIEYVVj
何を否定してほしいんだろ…
相当頭に血が上ってそうw
2022/03/17(木) 16:58:36.33ID:7ByY4YCs
そんなことよりC++の話しようよ
2022/03/17(木) 21:12:52.60ID:duMzaOgi
日本のトレンド
ちんこ勝負
トレンドトピック: 正式決定

ツイッターの形態素解析エンジンやばくないですか
2022/03/17(木) 21:16:07.60ID:VOoj+XQs
OSSの拾いもん回してるだけだろ
574デフォルトの名無しさん
垢版 |
2022/03/19(土) 19:36:28.58ID:0pH7TqjX
std::vector::atの定義がこうなってるんですけど

reference at(size_type n);
const_reference at(size_type n) const;

これはエラーにならないんですか?
戻り値の型だけが違う場合オーバーロードはできないと勉強したんですけど
2022/03/19(土) 19:45:40.38ID:jBXtN76z
戻り型だけの違いやないやん
thisの違いは仮引数の違いやで
576デフォルトの名無しさん
垢版 |
2022/03/19(土) 19:48:56.32ID:0pH7TqjX
あ、なるほど
ありがとうございます!

あと2つが呼ばれるときの違いもわからないのでそちらも教えていただきたいです
2022/03/19(土) 20:15:27.83ID:Cc07y5v9
少なくともconstオブジェクトからはconstメンバ関数しか呼べないね
2022/03/19(土) 20:28:47.85ID:Cc07y5v9
http://www7b.biglobe.ne.jp/~robe/cpphtml/html02/cpp02024.html

と思ったら非constオブジェクトはキチンとconstじゃない方を呼ぶんだね
2022/03/19(土) 20:29:14.00ID:hj0ig94x
const Tからはconstメンバ関数しか呼べない

Tからはconstじゃない方を優先的に呼ぶ
constメンバ関数しかなかったらconstメンバ関数を呼ぶ
2022/03/19(土) 20:30:44.79ID:hj0ig94x
わかりやすいのはvector::size()const;

constから使えるし、constじゃなくても普通に使える
2022/03/19(土) 20:31:32.90ID:HgLoiHN9
constあるなしでオーバーロードできるんですか?
2022/03/19(土) 20:36:43.47ID:hj0ig94x
>>581
できる

件のvector::at(size_t) もそうだし、operator[](size_t)もそう

vector<int>{0};
const vector<int>cv{0};

v[0]=1; // int& operator[](size_t);
cv[0]=1; // const int& operator[](size_t)const; こっちがコンパイル通ったらまずいよね
583デフォルトの名無しさん
垢版 |
2022/03/19(土) 21:07:20.86ID:0pH7TqjX
皆さんありがとうございます
ちょっと自分で整理してみたんですけどこれで合ってますか?

☆普通の関数の場合
•引数のconstの有無だけのオーバーロード→コンパイルエラー
int A(int x);
double A(const int x);//エラー

•constなし引数への代入→const有無どちらも可
int A(int x);
int i=0;
const int c=0;
A(i);A(c);

•const引数への代入 → const有無どちらも可
int A(const int x);
A(i);A(c);
584デフォルトの名無しさん
垢版 |
2022/03/19(土) 21:08:09.65ID:0pH7TqjX
☆メンバー関数の場合
•thisに対するconstの有無だけのオーバーロード → OK
class B{
public:
 int C(){return 0;}
 int C() const{return 1;}
};

•const無メソッドだけあるとき→const変数からは呼べない
class B{
public:
 int C(){return 0;}
};

B b1;
const b2=b1;

b1.C();
b2.C();//エラー
585デフォルトの名無しさん
垢版 |
2022/03/19(土) 21:08:27.42ID:0pH7TqjX
•const有メソッドだけあるとき →const有無変数どちらからも呼べる

class B{
public:
 int C()const {return 1;}
};

b1.C();
b2.C();

•両方あるとき→変数のconstの有無に対応したものが呼ばれる

class B{
public:
 int C(){return 0;}
 int C()const {return 1;}
};

b1.C();//0
b2.C();//1
2022/03/19(土) 21:41:36.92ID:DslNhsx1
最近静かだったので見てなかったら、めっさ自演されてるw
2022/03/19(土) 21:43:30.89ID:DslNhsx1
const云々とか流石にやばすぎなので、↓へw

0からの、超初心者C++相談室
https://mevius.5ch.net/test/read.cgi/tech/1542002113/
588デフォルトの名無しさん
垢版 |
2022/03/19(土) 21:50:03.17ID:0pH7TqjX
😢
ありがとうございます
スレ汚し失礼しました
2022/03/19(土) 21:51:54.61ID:JACgrnJr
volatileメンバ関数の話もしないと片手落ちだぞ
2022/03/19(土) 22:02:55.92ID:hj0ig94x
>>588
その認識で合ってる

volatileもconstも伝染する性質が同じだけだからconstだけ覚えておけば問題ない

586はプログラム板で意味もなくマウント取るだけおじさんなので無視していい
2022/03/19(土) 22:17:28.58ID:DslNhsx1
マウント取りたいだけ、認められたいだけなのはお前w
自作自演のconst劇再演して面白い?w
2022/03/20(日) 01:21:01.58ID:lIF6fzsd
>>558を見てオモタが、
規格委員会が新しい言語要素を仕様化する際に、必ずコンパイラに実装してみて
実現可能性やよからぬ弊害が無いことや仕様に意図せぬあいまいさが無いことを実証するフェーズが入ると思うんだけど
その手の実装ってどこがやってるの?コンパイラメーカーに規格書のプレプリントを渡して丸投げ??
2022/03/20(日) 01:23:47.24ID:lIF6fzsd
もし規格委員会自身がやっているんなら神の実装技術を持った集団が規格委員会に居るはずで、>>558の言い様は正しくないかもしんないが、
万が一プロプラエタリーなコンパイラメーカーに丸投げなら参入障壁を高めるために複雑怪奇な仕様をあえて無理矢理引き受けるケースもあるかもしんない
かもしんない運転、
2022/03/20(日) 01:35:55.70ID:1+CNf8az
お前がそんな風に何も調べもせずに妄想だけで他人に聞いちゃう読んで字のごとくの「丸投げ」と一緒にしちゃダメだろwwww
2022/03/20(日) 01:37:12.20ID:1+CNf8az
調べればすぐ出てくるけど、
https://isocpp.org/
で聞けw
2022/03/20(日) 01:45:20.01ID:lIF6fzsd
いやすまん確かに
>(規格委員会が)実現可能性やよからぬ弊害が無いことや仕様に意図せぬあいまいさが無いことを実証する
というのは妄想やったわ;;;
2022/03/20(日) 01:48:15.78ID:1+CNf8az
何か裏を取れる事実がないなら全て妄想なんだよw お馬鹿さんw
598デフォルトの名無しさん
垢版 |
2022/03/20(日) 16:56:04.20ID:XASZAdc/
すいません教えていただけないでしょうか

棒読みちゃんっていうフリーソフトが一向に更新されないので
真似て作りたいのですがどのようなプログラム言語を学んだらよろしいですか?
599デフォルトの名無しさん
垢版 |
2022/03/20(日) 17:07:50.89ID:XF1vAqW3
参考書を一冊読み終わった程度のガチガチの初心者です。
初めて何か簡単なものを作ろうと思ったのですが、ウィンドウのサイズの指定の仕方が良くわかりませんでした。
VisualStudio2022でテンプレートはユニバーサルWindows-C++/Cxです。
そもそも質問する場所はここであってますでしょうか?
2022/03/20(日) 17:14:15.90ID:n/9ce90/
以下スレのほうが質問するのにあってると思うます

Win32API質問箱 Build127
https://mevius.5ch.net/test/read.cgi/tech/1639053176/
601デフォルトの名無しさん
垢版 |
2022/03/20(日) 18:05:54.67ID:XF1vAqW3
>>600
すみませんありがとうございます。
2022/03/20(日) 19:52:39.86ID:kJ/tleYc
なぜガチガチの初心者がなぜC++/CXいってまうんや。

昔はまだしも、C++17とCX両方襲いかかってくるから
理解するの大変な上、理解しても先が難しいと思うが。

普通にc#+やむなしなトコだけC寄りのC++でいいと思うが。
2022/03/20(日) 20:32:45.31ID:EuUP+kdP
>>598
テキスト文字列を合成音声で読ませるってことならスピーキングライブラリに頼りきることになるだろうしPythonとかでお手軽にできるんじゃない
ライブラリに頼る場合はPythonとかJavaとかC#らへんが適正だと思う
自分も少し前にC#でそういうの作った事あるけどWindowsならSystem.Speech.dll参照して簡単に喋らせられたな
2022/03/20(日) 23:15:40.56ID:1+CNf8az
別に喋らせるんならC++でもpythonでもC#でも出来るけど、Javaは難しい(面倒)だろうねwwwww
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。