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


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

C++相談室 part154



1 名前:デフォルトの名無しさん mailto:sage [2021/01/08(金) 17:54:00.55 ID:0DW9z0rL.net]
※前スレ
C++相談室 part153
https://mevius.5ch.net/test/read.cgi/tech/1602339500/

テンプレここまで

411 名前:デフォルトの名無しさん mailto:sage [2021/01/31(日) 23:01:41.96 ID:eyFvwlDf.net]
googleスタイルガイドはそちらを推してるな

412 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 01:17:42.16 ID:FSry25xS.net]
>>391
int _x=_y;
int _y=_x;
ここの二行目の右辺の_xは、b(_y,_x)の第二引数の_xではなく、一行目
で宣言した_xになっているので、b(_y,_x)の第一引数の_yになる。つまり、
int _x=引数の_y;
int _y=引数の_y;
となるので、{}の中の_x, _yは、どちらも引数の_yの値に等しくなってしまう。
これではマクロ作者が意図したことではなくなってしまう。

413 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 01:19:32.38 ID:FSry25xS.net]
>>394
まあ、それはもっともな指摘なのだが、アプリ本体では使用禁止で、
マクロでは使用可能と勝手に解釈してしまうのが一つの流儀。

414 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 01:22:56.68 ID:FSry25xS.net]
>>389
そうではなくて、ローカルスコープで使うことそのものが、file scope
で使ってないことに当たるので、規約違反と言うことになると解釈できる
気がするんだ。

なぜそんなルールにしたのかは分からんがな。

415 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 03:22:30.15 ID:fw9rYrIy.net]
>>405
残念だったね。インライン関数使おうね。

>>406
あなたの流儀を規格の定めであるかのように話すのは迷惑なのでやめてくださいね。

>>407
file scope で予約されてる名前を file scope で使ってないなら問題ないね。
規約違反などという解釈にはならない。気のせい。そんなルールになってない。ってことで終われよ。

416 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 07:01:58.51 ID:v6ebtUL1.net]
>>400
unordered_map<int, int>

417 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 07:30:17.18 ID:LhepLs74.net]
>>406
マクロ定義内の仮引数名は当のマクロ定義外の何者とも関係しないのでは…
いわゆる束縛変数

418 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 07:38:30.21 ID:LhepLs74.net]
として安全に取り扱われる

一方>>346の_xはa(x)が展開された結果が他のプリプロセッサ定義で再置換され得るなら危険
これが起きるかはプリプロセッサの仕様(規格)を見たら白黒付くが
個人的には君子なので危うきには近づかないことに死体、

419 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 08:09:47.67 ID:v6ebtUL1.net]
うちの若いのがあんなアホマクロ書いてたら張っ倒す
まあ、やらかしそうなのはいないけど



420 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 09:26:53.82 ID:5yr9aQzL.net]
>>346
そもそもそのマクロで生成される変数はファイルスコープでないから、そもそも問題外では?

仮にファイルスコープな変数を宣言するようなマクロでも、ユーザが意図せず

421 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 11:43:32.41 ID:xFB8fPis.net]
仕事に情熱が持てなくなった

422 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 11:43:38.91 ID:VhfMLcQM.net]
>>346
アホだ

423 名前:デフォルトの名無しさん [2021/02/01(月) 12:06:54.06 ID:ZelzH3+k.net]
>>414
コロナの影響だろな。
福島大爆発の影響も計り知れない。
「原爆ぶらぶら病」で検索してください。

424 名前:デフォルトの名無しさん [2021/02/01(月) 12:30:15.68 ID:jyRtFT93.net]
>>408
>file scope で予約されてる名前を file scope で使ってないなら問題ないね。
そうじゃない。
英語原文を読めば、file scopeで予約されているのではなく、file scopeで
使用するために予約されているのだ。
だから、file scope以外で使用することが禁止されている。

425 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 12:32:18.30 ID:jyRtFT93.net]
>>417
日本語で言うなら、「file scope 専用」。

426 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 12:46:40.95 ID:/T40sBmV.net]
>>414
ちゃんと飯を食え。
週末はちゃんち休め。

年10日は連続した休暇をとれ

427 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 12:55:04.41 ID:ioMwojjO.net]
>>417
その一文ばっかりやたらこだわるけど
これが属しているセクションの名前って「17.4.3.1.2 Global names」なんだわ
グローバル名前空間の名前以外については言及してないの
ドラフトならインターネットで無料で見られるんだからこの辺の全容見てきな?

428 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 13:14:13.18 ID:Z79JHlVc.net]
>>417
あらゆる場所で使ってはいけないのなら、7.1.3でわざわざ1つ目と対比させるように使用用途を限定して記載した理由を説明してよ。
普通はコンパイラ実装者のために予約されている、だけで十分でしょ

429 名前:デフォルトの名無しさん [2021/02/01(月) 13:45:48.95 ID:fos4FOVO.net]
仕事に情熱が持てなくなった



430 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 13:50:50.97 ID:jyRtFT93.net]
https://www.learncpp.com/cpp-tutorial/keywords-and-naming-identifiers/comment-page-2/

Second, you should avoid naming your identifiers starting with an underscore, as these names are typically reserved for OS, library, and/or compiler use.

431 名前:デフォルトの名無しさん [2021/02/01(月) 14:08:01.06 ID:fos4FOVO.net]
>>373
obj& operator [] (int i) {return elem[i];}
もちろんelem[]の定義はobj elem[];
obj.shape() も実装すると便利

432 名前:デフォルトの名無しさん [2021/02/01(月) 14:13:00.08 ID:fos4FOVO.net]
>>416
「コロナでゴロゴロ病」

433 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 15:47:43.70 ID:Z79JHlVc.net]
>>423
そのサイトを紹介して何の証明になるの?

434 名前:デフォルトの名無しさん [2021/02/01(月) 16:16:30.24 ID:ZelzH3+k.net]
>>426
https://isocpp.org/

435 名前:デフォルトの名無しさん [2021/02/01(月) 16:22:14.79 ID:ZelzH3+k.net]
C++ is the only real language for expert developers.

436 名前:デフォルトの名無しさん [2021/02/01(月) 16:55:19.50 ID:fos4FOVO.net]
C/C++は好きだし比較的最強の部類だと思うけど
夢未過ぎは判断を誤るから色んな言語を適材適所に使えるようになるのが理想

437 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 17:40:26.58 ID:LhepLs74.net]
システム記述言語はアセンブラを除けばこの世にCとC++とRustしか、

438 名前:デフォルトの名無しさん [2021/02/01(月) 17:46:42.82 ID:ZelzH3+k.net]
中国人のありがたいお言葉ですぞ。

439 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 18:02:36.06 ID:jyRtFT93.net]
大体、この板には中国人や韓国人はほとんど来ず、来ているのはアメリカ人
やヨーロッパやアフリカが多いらしい。



440 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 18:44:36.44 ID:+21BJdPm.net]
いやrustが最強でしょww

441 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 18:47:23.23 ID:CDWd/LQ7.net]
Goは駄目なん?

442 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 18:57:50.94 ID:0s4gr52A.net]
自作の構造体をsetに入れたいときって operator < さえ定義しとけば良いの?
eraseとかは全部のメンバが同じものを見つけて消してくれると思って良い?

443 名前:デフォルトの名無しさん [2021/02/01(月) 21:08:59.66 ID:ZelzH3+k.net]
検索するとひろみをお勧めしてくる時点で無理だった。

444 名前:デフォルトの名無しさん [2021/02/01(月) 21:34:17.50 ID:ZelzH3+k.net]
しかもチップも取るんかーい!

445 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 22:43:42.23 ID:CtNYZU7D.net]
>>435
erase含め、同値性は!(a<b)&&!(b<a)で判定される
全メンバ一致で同値と

446 名前:ンなしたいなら辞書順比較する比較関数を定義すればよし []
[ここ壊れてます]

447 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 22:46:24.33 ID:FbSt8IWH.net]
演算子オーバーロードは地雷度高い。

448 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 22:53:14.56 ID:CtNYZU7D.net]
まあ、setに入れるためだけなら演算子オーバーロードするより関数オブジェクト使う方がいいかね

449 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 23:03:45.93 ID:f9q1oLiO.net]
C++の質問じゃないとは思うんですが、上位数ビットを0で埋めたいといった場合は
「0埋めしたいビットを0、他を1にしたもので&演算する」
であってますか?



450 名前:デフォルトの名無しさん [2021/02/01(月) 23:11:37.27 ID:ZelzH3+k.net]
合ってます。

451 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 23:17:45.03 ID:f9q1oLiO.net]
>>442
ありがとうございます
今までは例えばQWORDの上位3バイトを0埋めしたいってとき(value << 3*8) >> 3*8って言う2命令使う馬鹿な方法でやっていました・・・

452 名前:デフォルトの名無しさん [2021/02/02(火) 02:08:00.00 ID:DmcXRB7X.net]
へ椅子ブックが少し綺麗になってます。

453 名前:デフォルトの名無しさん [2021/02/02(火) 02:10:27.05 ID:DmcXRB7X.net]
RedditのC++コミュは17万人、オンラインが500人以上。
凄いね。

454 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 10:17:10.33 ID:uFATDe77.net]
ビット演算の中で最速なのってシフトじゃなかったっけ?
だから下手したら>>443の方がフェムト秒レベルでは微妙に早いんじゃない?

455 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 10:29:21.33 ID:kGc73xZq.net]
命令語長がマスク分だけでもQWORDに対して、シフトなら1バイト程度か

456 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 12:37:23.36 ID:vWAdhQ36.net]
>>446
CPUの世代やアーキテクチャによって違うが、
Latencyが、Shiftの方がandより少し遅いことがある。

457 名前:はちみつ餃子 mailto:sage [2021/02/02(火) 12:49:48.88 ID:+MtixY9O.net]
>>434
Go は GC が前提にあるから少し制約が強いけども、
OS のカーネルを書くのでもない限り思ったより足かせにならないという評価はあるみたいだね。

458 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 13:08:50.07 ID:aIAA0dxH.net]
Goはクソすぎるから駄目だ
何が駄目といってまず名前が駄目

459 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 13:45:57.34 ID:8HFbTrXI.net]
GoはPC初心者用
昔でいういわばBASIC



460 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 18:03:08.15 ID:FSwj4KRK.net]
バレルシフタと単純ゲート
レイテンシも糞もねえだろ

461 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 18:11:36.53 ID:8HFbTrXI.net]
でもその縛りプレイが大好きな変人も居る

462 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 22:23:15.74 ID:likaPPB8.net]
operator ==も定義しておくとなお良い
==のために<が2回呼ばれるのもアホらしいと感じるはず…
結局std::rel_opsを使って全部定義するという結論に落ち着く

463 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 22:25:04.30 ID:likaPPB8.net]
インテルのやつはバレルシフタじゃない気配がする…
シフト結果をテーブル化した方が速かったことg

464 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 22:28:35.48 ID:likaPPB8.net]
あるいは最大限バレルシフタにしようとしているがパイプライン1段に収まっていないだけかもしれん…

465 名前:はちみつ餃子 mailto:sage [2021/02/03(水) 00:25:34.21 ID:p0NvFN6a.net]
>>443
gcc, clang, msvc で最適化最大で試してみたら and をとるように最適化されたぞ。
主要コンパイラがそのように最適化するということは (前後の状況によるかもしれないけど)
たぶん and のほうが効率的ってことなんだろう。

466 名前:デフォルトの名無しさん [2021/02/03(水) 00:38:50.10 ID:53EFMpkm.net]
ビットシフトは64bit整数でのコンパイラ解釈が信用できないからAND演算子使うのが確実だと思うけどどうかな。

467 名前:デフォルトの名無しさん mailto:sage [2021/02/03(水) 00:51:08.70 ID:5b6XJ+8s.net]
>>458
落ち着いてよく考えてみよう
お前がC++で作った成果物のうち、お前自身が書いたコードの割合なんてごくごく僅かに過ぎない
仮にそんなレベルで互換性が当てにならないような環境があったとして、お前が直接書いていない他の99%のコードがまともに動くと本気で思うか?

468 名前:はちみつ餃子 mailto:sage [2021/02/03(水) 00:54:51.58 ID:p0NvFN6a.net]
0xffffffffff とか書いてたら桁数を正しく書けてるか不安になる……

今の C++ だと桁区切りも入れられるけど、
どう入れたら意図がわかりやすいかようわからんし、
シフトで表現するのもありな選択だと思う。

469 名前:デフォルトの名無しさん mailto:sage [2021/02/03(水) 01:01:02.57 ID:+m9V7fCu.net]
>>458
具体例をお願いできますか?



470 名前:デフォルトの名無しさん [2021/02/03(水) 01:20:23.24 ID:53EFMpkm.net]
コンパイラがちゃんと32bit整数への丸め警告を出してくれるならいいが、しれっとコンパイルされたらお手上げ。

471 名前:デフォルトの名無しさん mailto:sage [2021/02/03(水) 02:47:38.99 ID:+m9V7fCu.net]
>>462
丸めって暗黙の型変換のことですか?
シフト演算は特に関係しないと思いますが……

472 名前:デフォルトの名無しさん mailto:sage [2021/02/03(水) 06:01:31.58 ID:QcjMAifW.net]
>>460
0x0000'ffffull

473 名前:デフォルトの名無しさん mailto:sage [2021/02/03(水) 06:29:42.77 ID:y3dS6mbz.net]
unsigned long long x = (0x1ULL << 32) - 1ULL;
ならちゃんと動く(と思う)が
unsigned long long x = (0x1 << 32) - 1;
とかだとイマイチ不安が…

474 名前:デフォルトの名無しさん mailto:sage [2021/02/03(水) 06:38:54.06 ID:Nl+WsQpo.net]
>>465
下の方はイコールの右辺にintしか出てこないのだから、intが32bitの環境なら32bitでしか計算されないだろう

475 名前:デフォルトの名無しさん [2021/02/03(水) 10:23:38.02 ID:q8Ed7guF.net]
丸めと暗黙の型変換は違うものでは?

476 名前:デフォルトの名無しさん mailto:sage [2021/02/03(水) 11:47:09.95 ID:HtH84Poo.net]
丸めや打ち切りは浮動小数点数の概念やね

477 名前:デフォルトの名無しさん [2021/02/03(水) 13:02:19.58 ID:53EFMpkm.net]
ビットシフト記述は自然すぎてソースコードに埋もれてしまう。
64ビットマスクのAND記述は見た目がどぎついので、かえって人間の注意を引くことができる。

478 名前:デフォルトの名無しさん mailto:sage [2021/02/03(水) 14:45:43.48 ID:J722wycU.net]
なにいってんだこいつ

479 名前:デフォルトの名無しさん mailto:sage [2021/02/03(水) 15:50:32.48 ID:pE1foWCw.net]
>>465
やっぱり、32BITの時が一番プログラミングし易かったな。
64BITになると、64BITと32BITを区別して書く必要が出てきて、
書くのが面倒になった。



480 名前:デフォルトの名無しさん mailto:sage [2021/02/03(水) 19:12:23.88 ID:XaYGR0Wv.net]
そう?ポインタサイズくらいしか違いなくない?

481 名前:デフォルトの名無しさん [2021/02/03(水) 21:29:02.90 ID:53EFMpkm.net]
まじめにC/C++標準型size_tを使っている人には32bitと64bitの処理切り分けが地味に辛い。

482 名前:デフォルトの名無しさん mailto:sage [2021/02/03(水) 22:36:28.54 ID:y3dS6mbz.net]
>>465の下の方のやつは符号拡張されたりする気がするorz

483 名前:デフォルトの名無しさん mailto:sage [2021/02/03(水) 22:40:25.83 ID:Ea4RwHR/.net]
>>424
> obj& operator [] (int i) {return elem[i];}
> もちろんelem[]の定義はobj elem[];

objは行列クラスで、elemはobjのメンバで行列要素を格納する一次元配列、で合ってますよね?
class obj{
 array<int, ?> elem;
public:
 obj& operator [] (int i) {return elem[i];}
};
ということですか?

484 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 03:22:45.38 ID:R0EDVzG0.net]
>>473
size_t は、型名が長いし _ も含んでいるし、打つのが辛い。
それにコードに締める長さも長くなるので画面が狭くなるし。

485 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 04:17:06.60 ID:SkZt7jTc.net]
>>473
まじめに、て別にsize_t使ってたら偉いわけじゃない
サイズを表したいけどいちいち考えたくない場合の選択肢だぞ

486 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 11:32:06.33 ID:sIhIIpMX.net]
size_t型はSTLを使う人なら避けて通れない。

487 名前:デフォルトの名無しさん [2021/02/04(木) 11:40:48.70 ID:ZzRKCYY/.net]
>>471

488 名前:
それ本来そこにあった問題に気付いていないだけだったと思うぞ
[]
[ここ壊れてます]

489 名前:デフォルトの名無しさん [2021/02/04(木) 11:44:02.03 ID:ZzRKCYY/.net]
>>475
class obj{
 array<obj, ?> elem;
public:
 obj& operator [] (int i) {return elem[i];}
};



490 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 12:06:17.02 ID:DWE1XJjK.net]
>>480
それってarrayのarrayとかvectorのvectorとか配列の配列として行列を作るのと同じですよね?
一次元配列に要素を格納しておいて[][]でアクセスするのは不可能なんでしょうか
row majorやcolumn majorを自由にできる、等の理由でそちらの方が好ましいのですが

491 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 12:29:12.61 ID:waKgX41w.net]
一次元配列を内包しているクラスのoperator[](int y)が、下記のようなクラスを返すようにすればできる。

class Row {
vector<int>& 一次元配列への参照
int 列数
int y
int& operator[](int x){ return 一次元配列への参照[列数*y+x]; }
};


でも自分ならoperator[]は使わずもとのクラスにindex(x, y)みたいな関数を用意して対処すると思う。

492 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 13:10:42.29 ID:g2cSm/y9.net]
malloc とか new で確保したメモリ領域を使うように
vector ( または array ) をインスタンス化するにはどうすればよいですか?

493 名前:はちみつ餃子 mailto:sage [2021/02/04(木) 13:13:43.37 ID:ttCVH4wp.net]
>>481
こういう雰囲気で他のクラスをひとつ間に入れることでなんとかなる。

https://wandbox.org/permlink/ZXI1nkkCLRJQPtAJ

だけど俺も >>482 の言う通り operator[] にこだわらずに適当なメンバ関数でやる方法を推すわ。
実態として二引数なのだし、記法のためだけに余計な定義をするの馬鹿らしいと思う。

提案としては hoge[i, j] みたいな感じで二引数のインデックスを受け取れるようにする案は出てるんだが、
現状ではこのときのカンマは普通にカンマ演算子として解釈される。
前準備として、 C++20 からはブラケット内でのカンマは非推奨にするという変更が入っている。
https://timsong-cpp.github.io/cppwp/n4861/depr.comma.subscript

494 名前:はちみつ餃子 mailto:sage [2021/02/04(木) 13:20:29.03 ID:ttCVH4wp.net]
>>483
ある時点で確保済みのメモリの上にオブジェクトを構築するには
std::uninitialized_default_construct を使う。

でも std::vector 自体を適当なメモリの上に構築できても
std::vector 内で使うメモリは std::allocator で確保しようとするから、
必要ならアロケータを定義する必要がある。

495 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 15:40:11.75 ID:R0EDVzG0.net]
>>479
いや、全て32BITは、それに全て統一することで速度とメモリ効率と実用性の
バランスが取れていた。
ところが64BITだと実用上、表せる値の範囲はオーバースペックで
変数のメモリに占めるバイト数が8バイトと余りにも効率が悪い。
なので、多くの数値は32BITとし、必要な部分だけ64BITにするという
面倒な選択を強いられる様になった。
アドレスが64BITなので、それを整数型に入れるためには32BITの整数では
不足するので引きつられて整数も64BITを必要としがちになり、大混乱
が生じている。
(また、メモリーもアドレスを32BITより多くを必要とするアプリは非常に稀。)

496 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 16:48:02.49 ID:DWE1XJjK.net]
>>482
ありがとうございます
ストラウストラップの「プログラミング言語C++」に「行列クラスの設計」なるセクションがあったのを覚えてるので、そちらではどうしていたかも見てみます

497 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 17:07:22.68 ID:dB2jWvbu.net]
unique_ptr<Hoge[]> p(new Hoge[4]{a, b, c, d});
みたいな定義と同時に代入は出来るのですが
(各要素毎に Hoge(a), Hoge(b), Hoge(c), Hoge(d) になりました)

unique_ptr<Hoge[]> p = make_unique<Hoge[]>(4);
だと引数無しのデフォルトコンストラクタが無いといけないし
(そもそも引数無しのデフォルトコンストラクタ作りたくない)

unique_ptr<Hoge[]> p = make_unique<Hoge[]>({a, b, c, d});
とか
unique_ptr<Hoge[]> p = make_unique<Hoge[]>(4){a, b, c, d};
とかはコンパイル出来ませんでした

引数無しのデフォルトコンストラクタがあれば
unique_ptr<Hoge[]> p = make_unique<Hoge[]>(4);
p.reset(new Hoge[4]{a, b, c, d});
だとうまく逝きますが効率が悪い気がします
make_unique は使ってはいけないのでしょうか?

498 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 17:51:26.68 ID:b9gCdorg.net]
>>487
485も見てねー

499 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 17:52:07.72 ID:b9gCdorg.net]
まちがえた。484



500 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 20:56:33.92 ID:ZyzsEROR.net]
配列のunique_ptrは色々と中途半端で使いづらいからオススメしない

501 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 22:14:32.91 ID:b9gCdorg.net]
>>488
unique_ptr<Hoge[]> p;
p.reset(new Hoge[4]{a, b, c, d});
でよいのでは?

502 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 22:20:26.07 ID:un3OWVjy.net]
>>486
32bitアプリでも今どきなら64bit整数を使える処理系は多いだろ
そもそもアドレスを整数型に入れるっていつの時代の人よw

503 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 22:47:34.63 ID:/RiZUiBF.net]
>>493
アドレスを整数に入れるのは過去の話じゃないぞ

504 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 22:51:09.67 ID:sIhIIpMX.net]
intptr_t整数型を使ってたのっていつの時代?

505 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 23:24:48.23 ID:hMfhfQWp.net]
uintptr_tならいつもお世話になっております

506 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 00:01:41.63 ID:NIkVqohR.net]
この手合いのボケを量産するのはC++の害だな

507 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 01:35:15.82 ID:EB7VAtvO.net]
むしろCの害

508 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 01:52:47.05 ID:xbM9VFWh.net]
Rubyって結局勉強しないままPythonの時代になってしまったな

509 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 04:42:48.12 ID:ZuGfyZDY.net]
同様にC++を勉強しないままRustの時代になる



510 名前:デフォルトの名無しさん [2021/02/05(金) 09:51:39.70 ID:U76qOqQA.net]
>>488
https://www.it-swarm.jp.net/ja/c%2B%2B/new演算子よりもstd-makeuniqueを使用する利点/826350881/amp/
https://ja.stackoverflow.com/questions/24876/make-uniqueの利点

511 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 13:28:24.98 ID:ou/gU5gH.net]
c++やらずにrustとか馬鹿量産するだけにしか思えんな。






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

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

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