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


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

C++相談室 part159



1 名前:デフォルトの名無しさん [2022/02/19(土) 11:56:42.14 ID:kSnJ/KwP.net]
前スレ
C++相談室 part158
https://mevius.5ch.net/test/read.cgi/tech/1636969758/

458 名前:デフォルトの名無しさん mailto:sage [2022/03/12(土) 13:11:11.84 ID:uDPm4ane.net]
大学で下記のようなSTLアルゴリズムの課題が出たのですが、全然わからないです

Hogeというstructがあったときに、
class HogeCollection {
public:
  void display(ostream& os) const;
  friend ostream& operator << (ostream& os, const Hoge& hoge);
private:
  vector<Hoge> m_hoges;
};

display関数でm_hogesのすべてのHogeに対して os <<を呼び出し出力させなさい。
ただしforやwhileなどの手動ループを使用しないこと。

459 名前:デフォルトの名無しさん mailto:sage [2022/03/12(土) 13:12:32.40 ID:aEfI8PjB.net]
>>450
ちょっとバグってたので修正
template <typename F, size_t... Seq> auto gen_impl(F func, index_sequence<Seq...>) {
return make_tuple(func(Seq)...);
}
template <size_t N, typename F> auto gen(F func) {
return gen_impl(func, make_index_sequence<N>{});
}

460 名前:デフォルトの名無しさん mailto:sage [2022/03/12(土) 13:14:20.70 ID:aEfI8PjB.net]
>>451
言われた通りにやればいいやん

461 名前:蟻人間 mailto:sage [2022/03/12(土) 13:16:03.75 ID:0xm7vL+e.net]
>>451
<algorithm>を見てみ。便利な関数があるから。

462 名前:デフォルトの名無しさん mailto:sage [2022/03/12(土) 13:21:05.85 ID:45uBSPYW.net]
「STLアルゴリズム」の課題だからSTL使えばいいんだもんな…
自分でアルゴリズム実装しろって課題だったらちょっと面倒だが

463 名前:デフォルトの名無しさん mailto:sage [2022/03/12(土) 13:21:47.65 ID:uDPm4ane.net]
>>453,454
ありがとうございます。
std::for_each()なんてのがあるんですね・・・

464 名前:デフォルトの名無しさん mailto:sage [2022/03/12(土) 13:55:39.46 ID:uDPm4ane.net]
度々すみません。
display関数を書いたのですが、VS2019でコンパイルエラーになります。

void HogeCollection::display(ostream& out) const
{
  std::for_each(m_hoges.begin(), m_hoges.end(), [](const Hoge& hoge){ out << hoge; });
}

error C3493: 既定のキャプチャ モードが指定されていないため、'out' を暗黙的にキャプチャできません

465 名前:デフォルトの名無しさん mailto:sage [2022/03/12(土) 14:02:30.95 ID:9rXKBdgd.net]
キャプチャモードを指定してあげれば…

466 名前:デフォルトの名無しさん mailto:sage [2022/03/12(土) 14:09:52.70 ID:uDPm4ane.net]
>>458
ありがとうございます。以下で通りました!
[&out](const Hoge& hoge){ out << hoge; }



467 名前:デフォルトの名無しさん mailto:sage [2022/03/12(土) 21:02:47.42 ID:uDPm4ane.net]
もう1つ、STLの問題がわからないので、質問させてください。

>>451のHogeCollectionに以下のようなメンバ関数があるとします。
void sort_by_key(const string& key)
{
  if (key == "a") (Hogeのメンバ変数 m_aでソート);
  else if (key == "b") (Hogeのメンバ変数 m_bでソート);
}

keyの値が"a" か "b"以外のときはエラーにしたい場合に、
実行時エラーでなくコンパイルエラーにするには、
この関数をどのように再設計すればよいでしょうか。

468 名前:デフォルトの名無しさん mailto:sage [2022/03/12(土) 21:08:31.31 ID:yBTVs/aF.net]
keyの値はコンパイル時に決まるん?

469 名前:デフォルトの名無しさん mailto:sage [2022/03/12(土) 21:49:16.97 ID:uDPm4ane.net]
>>461
そうですね。
今のプログラムでは、main関数で sort_by_key("a"); のように呼び出しています。

470 名前:デフォルトの名無しさん mailto:sage [2022/03/12(土) 22:30:59.53 ID:olrB42jq.net]
>>462
コンパイル時にkeyを見てチェックするという縛りなら、実行時になるまでkeyがわからない状態にはできない。

雑にやってしまうならこうなる。
真面目にやるならフィールドへのポインタをテンプレート引数にすることになると思う

template<char key>
void sort_by_key()
{

  if constexpr (key == 'a') (Hogeのメンバ変数 m_aでソート);
  else if constexpr (key == 'b') (Hogeのメンバ変数 m_bでソート);
else throw std::invalid_argument();
}

471 名前:デフォルトの名無しさん mailto:sage [2022/03/12(土) 22:46:39.28 ID:uDPm4ane.net]
>>463
やっぱそうですよね。
私も sort_by_keyを廃止して、sort_by_a と sort_by_b を作るくらいしか
思いつかないです。

472 名前:デフォルトの名無しさん [2022/03/13(日) 18:52:37.38 ID:mTtq0Uph.net]
ポインタとか文字列の勉強をしていてよくわからなくなってしまいました

char* test(char* &s){
 char* ans=“B”;
 s[0]=‘C’;
 s=ans;
 return ans;
}

int main(int argc,char *argv[]){
 char s1[]=“A”;
 char* s2=s1;

#if 1
 cout<<s2;
 cout<<test(s2);
 cout<<s2;
#else
 cout<<s2<<test(s2)<<s2;
#endif
 
 return 0;
}

上のようなものを動かす時、#if 1のときはABBと表示されて、#elseにするとBBCと表示されます

#elseのように一行にまとめた時に何が起こっているのかよくわからないので教えていただけると嬉しいです

よろしくお願いします

473 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 18:56:08.61 ID:wq ]
[ここ壊れてます]

474 名前:c4hozV.net mailto: ポインタじゃなくて評価順の問題なのはわかるが
何が起きてるのかは俺もようわからん
[]
[ここ壊れてます]

475 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 19:00:28.93 ID:wF3w3WV7.net]
char*&なんて20年C++プログラマやってて一度も使ったことないわ…
どういうときに必要になるん?

476 名前:デフォルトの名無しさん [2022/03/13(日) 19:02:39.85 ID:mTtq0Uph.net]
必要ないとは思うんですけど、理解を確かめるために色々試していたって感じです



477 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 19:02:42.19 ID:uIbezUFD.net]
>>467
おっちゃんやん

478 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 19:05:39.12 ID:wqc4hozV.net]
あーわかったけど説明めんどくさいな

とりあえず、if 1では1行ずつ評価(今の場合表示と読み替えても良い)が行われてるが
2行目の場合、評価(表示)の前に途中で関数が実行されて、値が書き換えられている、とだけ

479 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 19:06:08.61 ID:e39Fa4ck.net]
コレ質問してるのもおっちゃん臭いんだよな
いつもVC++だし、MFCみたいな書き方するし

480 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 19:06:22.60 ID:wqc4hozV.net]
誤 2行目の場合→正 elseの場合

481 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 19:12:14.63 ID:wF3w3WV7.net]
>>469
おう、最近白髪が気になってきた

482 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 19:20:55.04 ID:e39Fa4ck.net]
そして答えてるのも同じおっちゃんw

483 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 19:22:15.18 ID:e39Fa4ck.net]
そもそもそんな怪しいコーディングは普通のC++プログラマはしないから
warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

484 名前:はちみつ餃子 mailto:sage [2022/03/13(日) 19:38:16.17 ID:lhgOY5DD.net]
文字列リテラルの型は const char[] だが、 C++03 時代は const をはがして char* に (暗黙に) 型変換することが許されていた。
文字列リテラル限定の特別な型変換規則。
C++11 以降ではその規則は削除された。
C++03 時代でも非推奨なんだけど昔の本だとちょくちょくやってるんだよなぁ。
俺は持ってないから知らんけどロベール本とか有名な本でもそういう記述があるらしい。

485 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 19:51:18.33 ID:hJwK9XXb.net]
ロベール本は<iostream.h>とか書いてあったしC++03ですらないんじゃない?

486 名前:デフォルトの名無しさん [2022/03/13(日) 19:54:43.65 ID:mTtq0Uph.net]
>>470
すみませんやっぱりよくわからなかったです
アドレスとか調べてみてみました

元の初期化されたばかりのs2を@、ansをAとします

•#if1において
最初の(1行目の)s2は@を指している
最後の(3行目の)s2はAを指している


•#elseにおいて
最初の(左の)s2はAを指している
最後の(右の)s2は@を指している

どうやらこうなっているようなのですが、なぜ逆になるのでしょうか?



487 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 20:06:11.90 ID:GnTJD4Pm.net]
>>471
VC++以外のがLinuxおじさんってイメージがある
実際ワイは平成2桁生まれやけどVC++しか触ったことないわ
Windowsじゃないとゲームしづらいし

488 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 20:12:18.98 ID:e39Fa4ck.net]
そんな調べれば一瞬で分かるようなこと自分で調べろよおっさんw

489 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 20:13:33.25 ID:e39Fa4ck.net]
お前の間違いをいちいち指摘するのは最近もう面倒w ヒントはあげたしw

490 名前:デフォルトの名無しさん [2022/03/13(日) 20:14:46.38 ID:mTtq0Uph.net]
あなたには聞いたつもりはないのですけど…

491 名前:蟻人間 mailto:sage [2022/03/13(日) 20:18:18.08 ID:+6IhxTlU.net]
どいつもこいつもおっさん

492 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 20:28:56.19 ID:GnTJD4Pm.net]
おっさんって大体C++17以降アレルギーもってるよな
言語の進化に付いていくのをやめると新機能への愚痴ばかり言う老害になっちゃうんだよな
ああはなりたくないからC++40くらいまでは初心を忘れず学習し続けると心に誓うわ

493 名前:蟻人間 mailto:sage [2022/03/13(日) 20:35:15.04 ID:+6IhxTlU.net]
WinXPをサポートしている最新のC++規格となると選択肢が少なくなるのが嫌になる。

494 名前:デフォルトの名無しさん [2022/03/13(日) 20:35:18.33 ID:R0s3zSYd.net]
Rustに変わるのでは?

495 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 20:56:20.40 ID:e39Fa4ck.net]
linuxだとgcc 9か10がデフォルトだし、9,10のデフォルトのc++標準は14だから
現状17,20は断らないと使えないので、自分で使う分以外は可能なら11、無理でも14までにしたいというだけ
VC++2022を除き20はデフォルトだと使えないので、自分で使う分でも20は滅多に使わない
twitterとかで記事を見かけたら23までは内容見たりするけど、自分で追っかけるのは17まで、興味があれば20までかな
23だとrangeがすごいことになってるみたいね

496 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 20:57:02.88 ID:BWiYjhGb.net]
>>478
評価の順と関数の実行が同じとは限らない。
だったかな

要するに cout<<s2@<<test(s2)A<<s2B;

君の考えでは@の評価、関数test(s2)Aが実行されtest(s2)Aの評価、最後にs2Bが評価される、だろうけど
実際には先ににtest(s2)Aが実行され、その後s2@の評価、test(s2)Aの評価、s2Bの評価と続く
って感じと思う



497 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 20:57:21.78 ID:GnTJD4Pm.net]
>>478
言語バージョンはいくつ?
逆になってるというよりC++17未満だと#elseのほうの評価順は未定義だからてきとーになってるってことだと思うが

498 名前:蟻人間 mailto:sage [2022/03/13(日) 20:59:06.58 ID:+6IhxTlU.net]
LinuxでDirty Pipeの脆弱性が出たからバージョンアップしとけよ。

499 名前:デフォルトの名無しさん [2022/03/13(日) 21:22:04.20 ID:mTtq0Uph.net]
>>488
>>489
ありがとうございます

https://cpprefjp.github.io/lang/cpp17/expression_evaluation_order.html
それっぽいのを見つけたので詳しく読んでみたと思います

言語のバージョンは多分C++11てやつです
GCC4.4.0のコンパイラーでした
本の付録についてきたものですが、結構古いやつだったみたいです

コンパイラー新しくすればもしかしたら動くのかもしれないですけど、あんまりこういうことはしないほうが安全なんでしょうかね

500 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 21:30:44.52 ID:5qwn5s+6.net]
>>478
この手の副作用が2つ以上現れるような動作は未規定か環境依存か未定義動作だったりを疑わなきゃいけない

cout<<s2<<test(s2)<<s2; の評価順序は規格で決まってる?
Noならコンパイラの気分次第で変わったりする。

何が起きてるかを知るにはコンパイル結果の逆アセンブリを見るのが一番手っ取り早い

501 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 21:33:21.26 ID:e39Fa4ck.net]
ちなみにVC++だと2019のオプション指定なし(C++17)で再現するんだけどねw

502 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 21:35:03.87 ID:e39Fa4ck.net]
あ、14だったw
https://godbolt.org/z/fcPT6jjhf

503 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 21:37:39.20 ID:e39Fa4ck.net]
gccは9でデフォルト(c++14)指定でも再現しない

504 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 23:06:02.21 ID:1ZaIS7m7.net]
おまえもうハゲ始めてるのに何若者のフリしてんだよw

505 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 23:19:39.35 ID:bI6DiOQ5.net]
なんやおっさんが書きこんだらあかんのか
おっさんがC++やったらあかんのか、ええおい!

506 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 23:47:54.26 ID:e39Fa4ck.net]
今どきこんなスレ見てるのおっさんしかいねーよw



507 名前:デフォルトの名無しさん mailto:sage [2022/03/14(月) 00:10:40.47 ID:ci4mynDi.net]
もう5ch自体がオッサンのすくつやしのう

508 名前:デフォルトの名無しさん [2022/03/14(月) 02:20:02.12 ID:rjFiO5pI.net]
>>499
YouTubeで動画投降して、視聴者の年齢層を見てみたら、100人以上ユニークユーザー
数がいるのに、なぜか、45〜54歳が 100% になっていた。
日本にはこの年齢しか存在せず、後は幻影であることが明らかと成った。

509 名前:デフォルトの名無しさん mailto:sage [2022/03/14(月) 02:28:09.93 ID:U570WKgz.net]
URLを提示しない

510 名前:ニ何とも・・・内容次第では? []
[ここ壊れてます]

511 名前:デフォルトの名無しさん mailto:sage [2022/03/14(月) 09:03:41.97 ID:HoF8kO8q.net]
>>484
昭和生まれだがclangが未だにstd::pmr::memory_resourceに未対応なことに怒ってるぞ
(experimentalにあるがほとんど実装されてない

512 名前:デフォルトの名無しさん mailto:sage [2022/03/14(月) 11:38:57.54 ID:ndyVaXT0.net]
昭和ってことは戦争体験したんですね

513 名前:デフォルトの名無しさん mailto:sage [2022/03/14(月) 12:26:33.29 ID:GQP59fXj.net]
生家のすぐ隣が根岸の米軍住宅だったのが俺の最も古い記憶だな

514 名前:デフォルトの名無しさん mailto:sage [2022/03/14(月) 12:27:46.01 ID:alz+gcb+.net]
カトラーも昨日で80歳なんやで

515 名前:デフォルトの名無しさん mailto:sage [2022/03/14(月) 12:28:28.21 ID:7hHUAGdp.net]
>>504
はえー
ええところに住んでいたんやな
森林公園のそばか?

516 名前:デフォルトの名無しさん [2022/03/14(月) 12:32:31.77 ID:VKZDzId0.net]
c++17までカバーしてる良書教えてちょ



517 名前:デフォルトの名無しさん mailto:sage [2022/03/14(月) 13:39:35.57 ID:9629WIm4.net]
俺の周りだと本物の老害は数が少なくて、脳が老害化してるアラサー前の若者が大多数だな

518 名前:デフォルトの名無しさん [2022/03/14(月) 14:53:18.27 ID:2N61p2oq.net]
ニュース ・ トレンド
世界供給の約半分カバー
トレンドトピック: マック最終日、半導体不足

ツイッターのトレンドだけ見てたらAppleのマックのほうに見えるよな

519 名前:デフォルトの名無しさん mailto:sage [2022/03/14(月) 16:35:39.58 ID:GQP59fXj.net]
>>506
美濃屋の工場らへん

520 名前:デフォルトの名無しさん mailto:sage [2022/03/14(月) 18:24:00.75 ID:7hHUAGdp.net]
>>510
もしかして本牧あたり?

521 名前:デフォルトの名無しさん mailto:sage [2022/03/14(月) 20:13:17.28 ID:GQP59fXj.net]
>>511
美濃屋の工場は現存してるからググるマップあたりで調べてみては?
今はどうか知らんが当時は割れせんをタダでくれてたので
未就学のガキがお使いしてた、そいういう距離だ

522 名前:デフォルトの名無しさん mailto:sage [2022/03/15(火) 22:33:04.75 ID:x6RxSJEa.net]
追ってたらオッサンの会話にしか見えないやんけw

523 名前:デフォルトの名無しさん mailto:sage [2022/03/15(火) 23:43:47.86 ID:IA+izEeV.net]
>>508
いや実際今の若人のほうが老害化(頭がカチカチ)になってるパターン多いよ
なんつかーSNSとかの弊害だろうな、方法論にはつねに正解があってそこからはずれるのは全部ダメ!
みたいな、自分で試さずに「誰某というカリスマが言うてるのが正しい」みたいな発想のやつが多い

524 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 00:07:07.20 ID:kR1ttM2X.net]
常にググって解法らしきものを見つけることを研鑽してきた弊害やろな。
誰かの踏襲しか出来ん、本人一人しかやってない、
どこにも参考資料なしとなったら思考停止か
もしくはあきらめちまう層。

525 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 00:36:18.16 ID:892EcJv9.net]
分野の蓄積が多くなるとそうなのかもね

526 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 01:22:56.72 ID:dDBzFjnz.net]
ム板でC++の規格以外の話をすることは板違い



527 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 08:57:09.69 ID:eFhooB6a.net]
>>515
デンマーク人やアメリカ人が作った言語にタダ乗りしてるジャップ全体に当て嵌まるな
年齢関係ねぇ

528 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 09:28:03.54 ID:9b9buJuo.net]
>>518
朝鮮人は板違い

529 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 09:47:16.21 ID:sZ1wd+Ly.net]
和製言語つーとRubyとか?

530 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 10:01:22.67 ID:qWEoTKGw.net]
>>519
ジャッッッッッップwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

531 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 10:50:04.72 ID:sZ1wd+Ly.net]
>>518
タダ乗りか?
言語は使い手がいなきゃ消えていくだけだぞ

若害を指摘されてムカついたのかも知れんが
的外れな逆ギレは相手の主張を補強するだけだ

532 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 11:00:56.73 ID:UOk2lOR/.net]
>>518
日本に寄生しているチョン君に言われてもねぇ
日本人は色々と貢献しているけどチョン君ときたら自分さえ良ければだからな

533 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 11:26:21.48 ID:NlrnkDXA.net]
>>521
火病w

534 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 11:33:19.05 ID:FLjIdsXf.net]
さすがに極東板かマ板行け。

535 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 11:41:44.02 ID:w0SS0fac.net]
ネタにマジレスするのもあれだが、国民的アプリすらも実質韓国産という惨状なのに韓国をバカに出来る神経が本当に分からない
まぁそれこそアメリカ人とかであれば分かるが

536 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 11:52:37.30 ID:sCgw3/BF.net]
>>526
あれは日本人プログラマーをハンティングして作らせて完成した途端にクビにしたんだな
知らないとでも思ってんのかよ
さすがバ姦酷



537 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 11:58:06.63 ID:ken1LPi5.net]
>>527
体調わるいときはネット断ちして寝てた方がええよ
お前のお母さんみたいに無理して死んだら元も子もないよ

538 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 12:29:23.19 ID:eFhooB6a.net]
>>527
シナチョンジャップってお互いにお互いで起源主張マウントし合ってるよな
そしてお互いにお互いを起源主張と罵り合ってるのがほんま笑える

539 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 12:29:53.35 ID:fL7hhvH/.net]
>>529
祖国にお帰り

540 名前:デフォルトの名無しさん [2022/03/16(水) 15:21:21.65 ID:OMEE91WJ.net]
EclipseでGNU Autotoolsでビルドしたいんだけど、ワンクリックでファイル構成をパースしてMakefile.amを作ってくれるプラグインてないんかな?

541 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 16:43:46.25 ID:IF2KaGKL.net]
>>531
https://gammalab.net/blog/3rgve9rdw2kt5/

542 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 17:21:01.73 ID:dC1HWmI+.net]
defaultって単語が熱いなぁ

543 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 17:26:44.65 ID:sZ1wd+Ly.net]
ロシア国債?

544 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 17:43:54.03 ID:AUMfJKJU.net]
ルーブルをreturnするから問題ない

545 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 17:44:36.81 ID:dC1HWmI+.net]
C++11で正式採用されて11年経つというのに関数のdefault宣言を一度も使ったことがないわ

546 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 17:47:40.89 ID:lLYtmIck.net]
ええ…



547 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 17:49:13.58 ID:dC1HWmI+.net]
>>535
迷惑度でいうとreturnというより例外クラスをthrowする感じに近いですね

548 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 17:51:06.34 ID:sZ1wd+Ly.net]
>>536
= default; より
{} のほうが短いってこと?

549 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 17:54:01.36 ID:dC1HWmI+.net]
短いとは?

550 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 17:56:55.95 ID:sZ1wd+Ly.net]
ソースコードの文字数

551 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 19:05:34.58 ID:gvdy2Zu4.net]
bool oprator==(const ThisClass&)const = default;
は便利だぞ

552 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 19:32:49.28 ID:YdzJshEX.net]
{}の定義はtrivial判定にならないからなあ

553 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 20:15:30.86 ID:dC1HWmI+.net]
関数のdefault宣言を今まで一度も使ったこと人、正直に手を挙げなさい

554 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 20:54:55.18 ID:J1wyaesr.net]


555 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 22:03:43.15 ID:LiWeOEyq.net]
そもそもdefault宣言がわからない
何?

556 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 22:17:44.96 ID:jNwWVkZm.net]
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; を書いておく。



557 名前:デフォルトの名無しさん [2022/03/16(水) 22:32:26.86 ID:aL91bHGW.net]
じゃあ便乗して

>>547
&&の意味を教えてください
const &の代わりになるんですか?

558 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 22:40:15.82 ID:J1wyaesr.net]
>>547
あーなるほど
便利かもな






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

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

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