C++相談室 part159at TECH
C++相談室 part159 - 暇つぶし2ch511:デフォルトの名無しさん
22/03/14 09:03:41.97 HoF8kO8q.net
>>484
昭和生まれだがclangが未だにstd::pmr::memory_resourceに未対応なことに怒ってるぞ
(experimentalにあるがほとんど実装されてない

512:デフォルトの名無しさん
22/03/14 11:38:57.54 ndyVaXT0.net
昭和ってことは戦争体験したんですね

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

514:デフォルトの名無しさん
22/03/14 12:27:46.01 alz+gcb+.net
カトラーも昨日で80歳なんやで

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

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

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

518:デフォルトの名無しさん
22/03/14 14:53:18.27 2N61p2oq.net
ニュース ・ トレンド
世界供給の約半分カバー
トレンドトピック: マック最終日、半導体不足
ツイッターのトレンドだけ見てたらAppleのマックのほうに見えるよな

519:デフォルトの名無しさん
22/03/14 16:35:39.58 GQP59fXj.net
>>506
美濃屋の工場らへん

520:デフォルトの名無しさん
22/03/14 18:24:00.75 7hHUAGdp.net
>>510
もしかして本牧あたり?

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

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

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

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

525:デフォルトの名無しさん
22/03/16 00:36:18.16 892EcJv9.net
分野の蓄積が多くなるとそうなのかもね

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

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

528:デフォルトの名無しさん
22/03/16 09:28:03.54 9b9buJuo.net
>>518
朝鮮人は板違い

529:デフォルトの名無しさん
22/03/16 09:47:16.21 sZ1wd+Ly.net
和製言語つーとRubyとか?

530:デフォルトの名無しさん
22/03/16 10:01:22.67 qWEoTKGw.net
>>519
ジャッッッッッップwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

531:デフォルトの名無しさん
22/03/16 10:50:04.72 sZ1wd+Ly.net
>>518
タダ乗りか?
言語は使い手がいなきゃ消えていくだけだぞ
若害を指摘されてムカついたのかも知れんが
的外れな逆ギレは相手の主張を補強するだけだ

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

533:デフォルトの名無しさん
22/03/16 11:26:21.48 NlrnkDXA.net
>>521
火病w

534:デフォルトの名無しさん
22/03/16 11:33:19.05 FLjIdsXf.net
さすがに極東板かマ板行け。

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

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

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

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

539:デフォルトの名無しさん
22/03/16 12:29:53.35 fL7hhvH/.net
>>529
祖国にお帰り

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

541:デフォルトの名無しさん
22/03/16 16:43:46.25 IF2KaGKL.net
>>531
URLリンク(gammalab.net)

542:デフォルトの名無しさん
22/03/16 17:21:01.73 dC1HWmI+.net
defaultって単語が熱いなぁ

543:デフォルトの名無しさん
22/03/16 17:26:44.65 sZ1wd+Ly.net
ロシア国債?

544:デフォルトの名無しさん
22/03/16 17:43:54.03 AUMfJKJU.net
ルーブルをreturnするから問題ない

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

546:デフォルトの名無しさん
22/03/16 17:47:40.89 lLYtmIck.net
ええ…

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

548:デフォルトの名無しさん
22/03/16 17:51:06.34 sZ1wd+Ly.net
>>536
= default; より
{} のほうが短いってこと?

549:デフォルトの名無しさん
22/03/16 17:54:01.36 dC1HWmI+.net
短いとは?

550:デフォルトの名無しさん
22/03/16 17:56:55.95 sZ1wd+Ly.net
ソースコードの文字数

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

552:デフォルトの名無しさん
22/03/16 19:32:49.28 YdzJshEX.net
{}の定義はtrivial判定にならないからなあ

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

554:デフォルトの名無しさん
22/03/16 20:54:55.18 J1wyaesr.net


555:デフォルトの名無しさん
22/03/16 22:03:43.15 LiWeOEyq.net
そもそもdefault宣言がわからない
何?

556:デフォルトの名無しさん
22/03/16 22:17:44.96 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:デフォルトの名無しさん
22/03/16 22:32:26.86 aL91bHGW.net
じゃあ便乗して
>>547
&&の意味を教えてください
const &の代わりになるんですか?

558:デフォルトの名無しさん
22/03/16 22:40:15.82 J1wyaesr.net
>>547
あーなるほど
便利かもな

559:デフォルトの名無しさん
22/03/16 23:08:39.16 jNwWVkZm.net
>>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が内部で持ってるポインタを差し替えるだけで済む。

560:デフォルトの名無しさん
22/03/16 23:19:48.63 0TydPa2f.net
それだけじゃ誤解しか生まないw
URLリンク(cpprefjp.github.io)

561:デフォルトの名無しさん
22/03/16 23:26:37.67 Jym8C6W+.net
昔はswap咬ましてたヤツだな

562:デフォルトの名無しさん
22/03/17 00:06:29.74 duMzaOgi.net
shared_ptr使えばいいじゃない

563:デフォルトの名無しさん
22/03/17 00:35:48.54 Oo+Bui2i.net
メモリポインタの差し替えか

564:デフォルトの名無しさん
22/03/17 00:43:42.18 DrTp92yO.net
>>550
>>551
ありがとうございます
普通の変数
左辺値参照
右辺値参照
ポインタ
ポインタのポインタ
etc...
うーんC++は頭が痛くなりそうですね

565:デフォルトの名無しさん
22/03/17 01:50:00.57 jsnVHM5N.net
>>544
(´・ω・`)の

566:デフォルトの名無しさん
22/03/17 01:50:25.35 faeKJv0z.net
そんなことくらいで頭が痛くなるなら、むしろやめとけw

567:デフォルトの名無しさん
22/03/17 03:32:17.05 kCjHZQsl.net
昨今のコード書かない言語オタクのオナニー拡張はスルーしてよい。

568:デフォルトの名無しさん
22/03/17 13:38:21.60 faeKJv0z.net
そのまま動かない部分コードだけ書くバカを除いたら、大抵のスレは多分俺しかコード書いてないけどねw

569:デフォルトの名無しさん
22/03/17 13:52:55.92 86Z8hvJ4.net
ム板で「俺はコード書いてるぞ、どうだ偉いだろうエッヘン」
これ寒すぎるんだけど・・・

570:デフォルトの名無しさん
22/03/17 14:50:03.04 zTqRydhk.net
ム板だからこそコード書く奴は偉いと思うぞ
ただ実際に書いてる奴はいちいちそんなことを自慢気に書いたりしないけどなw

571:デフォルトの名無しさん
22/03/17 14:53:55.54 86Z8hvJ4.net
偉いのか? やっと一人前の板民というだけだろ
コード書かないやつがム板ではアウェーなだけで
そこから相対的に見て偉いと言うことにどんな意味があるんだ

572:デフォルトの名無しさん
22/03/17 15:07:05.49 zTqRydhk.net
>>562
> コード書かないやつがム板ではアウェーなだけで
お前は自分がアウェーという意識を持つべき

573:デフォルトの名無しさん
22/03/17 15:22:32.44 86Z8hvJ4.net
>>563
そこで喧嘩腰かよ
実際に書いてる奴はいちいちそんなことを自慢気に書いたりしないと言ったばかりの
舌の根も乾かぬうちにそれか
頭冷やせ、話はそれからだ

574:デフォルトの名無しさん
22/03/17 15:33:03.66 faeKJv0z.net
>>564
コラコラお前は煽るなw
俺は>>558に俺のことスルーできなくなっちゃうけどいいの?って言っただけだよ
やれマウントだやれドヤ顔だとか、ホームとかアウェーとか、その手の話しはじめちゃうやつはちょっと発想がやばいって
あと承認欲求なんていくら高くてもクソの役にも立たんぞw

575:デフォルトの名無しさん
22/03/17 15:37:19.10 kCjHZQsl.net
なにケンカしてるん? おまえら仲良くしろよな^^

576:デフォルトの名無しさん
22/03/17 15:39:26.58 86Z8hvJ4.net
>>565
何が? 俺煽ってないよ
唯一、批判めいたことを言ったのは560だけ
例えばだが562に青筋立てるようなら
俺はコード書きませんと自己申告しているようなものだぞ

577:デフォルトの名無しさん
22/03/17 16:00:27.96 kKKT9czh.net
>>562みたいなことを書く奴に喧嘩腰とか言われてもなぁw
ちょっと頭冷やした方が良くね?

578:デフォルトの名無しさん
22/03/17 16:03:43.13 86Z8hvJ4.net
>>568
あれ? 否定しないのか
だったら話にならないな

579:デフォルトの名無しさん
22/03/17 16:15:46.57 0FIEYVVj.net
何を否定してほしいんだろ…
相当頭に血が上ってそうw

580:デフォルトの名無しさん
22/03/17 16:58:36.33 7ByY4YCs.net
そんなことよりC++の話しようよ

581:デフォルトの名無しさん
22/03/17 21:12:52.60 duMzaOgi.net
日本のトレンド
ちんこ勝負
トレンドトピック: 正式決定
ツイッターの形態素解析エンジンやばくないですか

582:デフォルトの名無しさん
22/03/17 21:16:07.60 VOoj+XQs.net
OSSの拾いもん回してるだけだろ

583:デフォルトの名無しさん
22/03/19 19:36:28.58 0pH7TqjX.net
std::vector::atの定義がこうなってるんですけど
reference at(size_type n);
const_reference at(size_type n) const;
これはエラーにならないんですか?
戻り値の型だけが違う場合オーバーロードはできないと勉強したんですけど

584:デフォルトの名無しさん
22/03/19 19:45:40.38 jBXtN76z.net
戻り型だけの違いやないやん
thisの違いは仮引数の違いやで

585:デフォルトの名無しさん
22/03/19 19:48:56.32 0pH7TqjX.net
あ、なるほど
ありがとうございます!
あと2つが呼ばれるときの違いもわからないのでそちらも教えていただきたいです

586:デフォルトの名無しさん
22/03/19 20:15:27.83 Cc07y5v9.net
少なくともconstオブジェクトからはconstメンバ関数しか呼べないね

587:デフォルトの名無しさん
22/03/19 20:28:47.85 Cc07y5v9.net
URLリンク(www7b.biglobe.ne.jp)
と思ったら非constオブジェクトはキチンとconstじゃない方を呼ぶんだね

588:デフォルトの名無しさん
22/03/19 20:29:14.00 hj0ig94x.net
const Tからはconstメンバ関数しか呼べない
Tからはconstじゃない方を優先的に呼ぶ
constメンバ関数しかなかったらconstメンバ関数を呼ぶ

589:デフォルトの名無しさん
22/03/19 20:30:44.79 hj0ig94x.net
わかりやすいのはvector::size()const;
constから使えるし、constじゃなくても普通に使える

590:デフォルトの名無しさん
22/03/19 20:31:32.90 HgLoiHN9.net
constあるなしでオーバーロードできるんですか?

591:デフォルトの名無しさん
22/03/19 20:36:43.47 hj0ig94x.net
>>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; こっちがコンパイル通ったらまずいよね

592:デフォルトの名無しさん
22/03/19 21:07:20.86 0pH7TqjX.net
皆さんありがとうございます
ちょっと自分で整理してみたんですけどこれで合ってますか?
☆普通の関数の場合
•引数の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);

593:デフォルトの名無しさん
22/03/19 21:08:09.65 0pH7TqjX.net
☆メンバー関数の場合
•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();//エラー

594:デフォルトの名無しさん
22/03/19 21:08:27.42 0pH7TqjX.net
•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

595:デフォルトの名無しさん
22/03/19 21:41:36.92 DslNhsx1.net
最近静かだったので見てなかったら、めっさ自演されてるw

596:デフォルトの名無しさん
22/03/19 21:43:30.89 DslNhsx1.net
const云々とか流石にやばすぎなので、↓へw
0からの、超初心者C++相談室
スレリンク(tech板)

597:デフォルトの名無しさん
22/03/19 21:50:03.17 0pH7TqjX.net
😢
ありがとうございます
スレ汚し失礼しました

598:デフォルトの名無しさん
22/03/19 21:51:54.61 JACgrnJr.net
volatileメンバ関数の話もしないと片手落ちだぞ

599:デフォルトの名無しさん
22/03/19 22:02:55.92 hj0ig94x.net
>>588
その認識で合ってる
volatileもconstも伝染する性質が同じだけだからconstだけ覚えておけば問題ない
586はプログラム板で意味もなくマウント取るだけおじさんなので無視していい

600:デフォルトの名無しさん
22/03/19 22:17:28.58 DslNhsx1.net
マウント取りたいだけ、認められたいだけなのはお前w
自作自演のconst劇再演して面白い?w

601:デフォルトの名無しさん
22/03/20 01:21:01.58 lIF6fzsd.net
>>558を見てオモタが、
規格委員会が新しい言語要素を仕様化する際に、必ずコンパイラに実装してみて
実現可能性やよからぬ弊害が無いことや仕様に意図せぬあいまいさが無いことを実証するフェーズが入ると思うんだけど
その手の実装ってどこがやってるの?コンパイラメーカーに規格書のプレプリントを渡して丸投げ??

602:デフォルトの名無しさん
22/03/20 01:23:47.24 lIF6fzsd.net
もし規格委員会自身がやっているんなら神の実装技術を持った集団が規格委員会に居るはずで、>>558の言い様は正しくないかもしんないが、
万が一プロプラエタリーなコンパイラメーカーに丸投げなら参入障壁を高めるために複雑怪奇な仕様をあえて無理矢理引き受けるケースもあるかもしんない
かもしんない運転、

603:デフォルトの名無しさん
22/03/20 01:35:55.70 1+CNf8az.net
お前がそんな風に何も調べもせずに妄想だけで他人に聞いちゃう読んで字のごとくの「丸投げ」と一緒にしちゃダメだろwwww

604:デフォルトの名無しさん
22/03/20 01:37:12.20 1+CNf8az.net
調べればすぐ出てくるけど、
URLリンク(isocpp.org)
で聞けw

605:デフォルトの名無しさん
22/03/20 01:45:20.01 lIF6fzsd.net
いやすまん確かに
>(規格委員会が)実現可能性やよからぬ弊害が無いことや仕様に意図せぬあいまいさが無いことを実証する
というのは妄想やったわ;;;

606:デフォルトの名無しさん
22/03/20 01:48:15.78 1+CNf8az.net
何か裏を取れる事実がないなら全て妄想なんだよw お馬鹿さんw

607:デフォルトの名無しさん
22/03/20 16:56:04.20 XASZAdc/.net
すいません教えていただけないでしょうか
棒読みちゃんっていうフリーソフトが一向に更新されないので
真似て作りたいのですがどのようなプログラム言語を学んだらよろしいですか?

608:デフォルトの名無しさん
22/03/20 17:07:50.89 XF1vAqW3.net
参考書を一冊読み終わった程度のガチガチの初心者です。
初めて何か簡単なものを作ろうと思ったのですが、ウィンドウのサイズの指定の仕方が良くわかりませんでした。
VisualStudio2022でテンプレートはユニバーサルWindows-C++/Cxです。
そもそも質問する場所はここであってますでしょうか?

609:デフォルトの名無しさん
22/03/20 17:14:15.90 n/9ce90/.net
以下スレのほうが質問するのにあってると思うます
Win32API質問箱 Build127
スレリンク(tech板)

610:デフォルトの名無しさん
22/03/20 18:05:54.67 XF1vAqW3.net
>>600
すみませんありがとうございます。

611:デフォルトの名無しさん
22/03/20 19:52:39.86 kJ/tleYc.net
なぜガチガチの初心者がなぜC++/CXいってまうんや。
昔はまだしも、C++17とCX両方襲いかかってくるから
理解するの大変な上、理解しても先が難しいと思うが。
普通にc#+やむなしなトコだけC寄りのC++でいいと思うが。

612:デフォルトの名無しさん
22/03/20 20:32:45.31 EuUP+kdP.net
>>598
テキスト文字列を合成音声で読ませるってことならスピーキングライブラリに頼りきることになるだろうしPythonとかでお手軽にできるんじゃない
ライブラリに頼る場合はPythonとかJavaとかC#らへんが適正だと思う
自分も少し前にC#でそういうの作った事あるけどWindowsならSystem.Speech.dll参照して簡単に喋らせられたな

613:デフォルトの名無しさん
22/03/20 23:15:40.56 1+CNf8az.net
別に喋らせるんならC++でもpythonでもC#でも出来るけど、Javaは難しい(面倒)だろうねwwwww

614:デフォルトの名無しさん
22/03/20 23:38:16.04 UJahVNmy.net
パピコンでも喋るのに

615:デフォルトの名無しさん
22/03/20 23:46:10.52 1+CNf8az.net
流石にそのレベルの音声合成と一緒にしたら可哀想w
PCM音源がなかったので、FM音源でしゃべらせたり、beep音で音楽(単音・音量調整なし)鳴らしたり効果音出したりが当時の流儀w

616:デフォルトの名無しさん
22/03/21 01:56:07.23 TlR/Mg8q.net
ゲームアーツのソフトがFM音源でよく喋ってたわ

617:デフォルトの名無しさん
22/03/21 13:45:57.08 sqIPbQd/.net
C# - C++/CX - ネイティブC++
というふうに間に挟めば時としてマーシャリング規則がメドイP/Invokeからおさらばできる……!
ような気がする……!!

618:デフォルトの名無しさん
22/03/21 13:48:08.86 ROKj/vns.net
どうも599です。
買った参考書の終わりの方にUWPでなんか作ろうって書いてあったのと、スマートポインタってなんかいいなって思って、そんでC++/CXかなって思いました。
そもそも言語の選び方もなんか間違ってたっぽいんですけど、なんか、
最速っていう響きに寄せられてなんか、c++すごそう・・・、っておもって続けてます。簡単なものでもなんでもいいからなんか作りなと知人に言われたので、とりあえず簡単なタイマー作ることにしました。

619:デフォルトの名無しさん
22/03/21 13:55:13.39 2Z4azz5I.net
>>608
そこはC++/CXじゃなくてC++/CLI。というかまさにそのために作られたのがC++/CLI

620:デフォルトの名無しさん
22/03/21 14:01:07.93 ROKj/vns.net
今やっと昨日の質問の答えを見てきたんですけど、UWPやるのはやめといたほうがいいらしいですね。
VisualStudioでタイマー作ろうと思ったんですけどおすすめのテンプレートありますか?

621:デフォルトの名無しさん
22/03/21 14:05:11.38 sqIPbQd/.net
>>610
えっ

622:デフォルトの名無しさん
22/03/21 14:21:34.68 j56ex+kV.net
C++/CLIでコンパイルされたDLLはC#で書いたDLLと同じように利用できる
C++/CXは知らん
public ref class C{
public:
property System::String^ S1{
System::String^ get(){return _S1;}
void set(System::String^value){_S1=value;}
private:
System::String^ _S1;
}
};

class C{
string S1{get;set;}
}

623:デフォルトの名無しさん
22/03/21 14:23:46.00 TlR/Mg8q.net
cliはc#と変わらんからなあ
間に挟む意味はないよ

624:デフォルトの名無しさん
22/03/21 14:57:53.89 HCPaDxP+.net
delphiとc++が合体したような言語よの

625:デフォルトの名無しさん
22/03/21 18:13:19.47 BAdp3agq.net
嘘つくな・・・あと


626:UWPならその名のついたスレに行け C++/CLIはマネージドコードを混ぜられるネイティブコードってだけで、C++の大規模な「MS独自拡張」 これを更に拡張してUWP要素を載せたのがCX C++じゃないんで、独自スレでも立てて一人で盛り上げてくださいw 個人的にはUWP自体がオワコンなので、せめてC#でやればいいのにとしか思えないがやるのは君の自由だw



627:デフォルトの名無しさん
22/03/21 18:22:20.19 OLHk6lmK.net
>>616
マネージド拡張と勘違いしてるんでは?

628:デフォルトの名無しさん
22/03/21 18:28:56.05 BAdp3agq.net
URLリンク(docs.microsoft.com)

629:デフォルトの名無しさん
22/03/21 18:32:58.53 Prmlj1K5.net
今はC++もクロスプラットフォームに対応する時代ですよ
いきなりWindowsべったりの書き方を覚えるより簡単なコンソールアプリとかQtから始めるのをお勧めしておきます

630:デフォルトの名無しさん
22/03/21 18:37:45.51 BAdp3agq.net
どうせいつものVC++使うconstの話ばかりするおじさんの自演w

631:デフォルトの名無しさん
22/03/21 18:46:38.57 2xjgwrAK.net
MSの独自拡張ガーとか言われてもC++を世界に普及させたのはMSですからね。

632:デフォルトの名無しさん
22/03/21 18:55:58.33 TEVzcoXo.net
MFCのことかね?

633:デフォルトの名無しさん
22/03/21 19:30:28.04 RS8xXzlz.net
ユニコードのことか~

634:デフォルトの名無しさん
22/03/21 19:33:36.97 zSyDDKWU.net
utf16 なんか消えて、utf32 と uft8 だけになればいいのに…

635:デフォルトの名無しさん
22/03/21 20:04:10.64 HCPaDxP+.net
J#が一番ワケワカランかった

636:デフォルトの名無しさん
22/03/21 22:37:44.93 dYQgVp3+.net
ちんちんシュッ!シュッ!シュッ!

637:デフォルトの名無しさん
22/03/22 08:04:59.19 jyd+b1no.net
なんでqmlって機能があるQtよりelectronが普及したのか

638:デフォルトの名無しさん
22/03/22 08:19:14.63 4wXemx3i.net
>>627
Qtはライセンスが面倒じゃない?
特にwindowsはよくわからん。

639:デフォルトの名無しさん
22/03/22 10:17:12.52 e045zQYf.net
>>619
プラットフォームをWindowsからQtに乗り換えるだけじゃ同じことじゃん
アプリから見てAPIでしかないんだから

640:デフォルトの名無しさん
22/03/22 10:31:07.58 OaCGWLhd.net
泥舟に乗り換えろと言われてもな。

641:デフォルトの名無しさん
22/03/22 10:46:04.30 mouTiTR6.net
共通プラットフォーム使うのは全然マシだと思いますよ

642:デフォルトの名無しさん
22/03/22 10:51:02.79 OaCGWLhd.net
Javaの失敗から何も学ばないのは馬鹿というものだ。

643:デフォルトの名無しさん
22/03/22 10:53:19.42 mouTiTR6.net
C++の失敗とかここで言われても

644:デフォルトの名無しさん
22/03/22 12:08:25.57 7HP7s9m4.net
じゃ鉄舟にのりかえるわ

645:デフォルトの名無しさん
22/03/22 12:48:01.28 BLG0uiz2.net
Win32で書いたソースコードそのままでスマホで動かせるんか?

646:蟻人間
22/03/22 12:59:12.46 BjxSmr6W.net
>>635
最近はARMで動くWindowsもあるよ。

647:デフォルトの名無しさん
22/03/22 13:03:45.42 e045zQYf.net
こういう質問、Windowsとスマホの用途の違いという根本を蒸ししているパターン多いよな
前提になっているパーツや環境だって違うのに「自分は移植作業したくない」
じゃあPGやめたらって話

648:デフォルトの名無しさん
22/03/22 13:04:16.00 e045zQYf.net
s/蒸し/無視/g

649:デフォルトの名無しさん
22/03/22 13:04:33.14 njeYgDdQ.net
>>636
MS も Windows phone から撤退したじゃん

650:デフォルトの名無しさん
22/03/22 13:31:47.44 1zUmccnl.net
Win32は「Windows」という環境依存定期

651:デフォルトの名無しさん
22/03/22 13:37:00.07 OaCGWLhd.net
処理系依存していいのかC/C++の最大のメリットだし。

652:デフォルトの名無しさん
22/03/23 11:56:26.96 I3LWr1Un.net
変なのキタ
URLリンク(ossia.io)

653:デフォルトの名無しさん
22/03/23 13:08:39.58 AtA1Snji.net
>>642
構造体を入れ子にしてGUIノードツリーを表現するの面白いね
最近はXAML/FXML/HTMLなどXML派生言語でGUI構造を表現するものが多いけど、言語固有の構造体で表現するほうがパース・オーバーヘッドがなくていいのかな
まだ、ボタン押下時のコールバック(ハンドラー)など不明点が多い

654:デフォルトの名無しさん
22/03/23 14:11:26.99 MxMb2yoX.net
```
void fuga() {}
auto hoge = fuga;
int main() {
std::cout << GetFuncName(hoge) << std::endl;
}
```
こんな感じのコードを書いたときに文字列で"fuga"を返してくれるようなGetFuncNameの実装方法ってありますか?
はじめは
#define GetFuncName(var) #var
とマクロを定義すれば良いかと思ったのですがこの定義でGetFuncName(hoge)とすると"hoge"が返ってきてしまいます...

655:デフォルトの名無しさん
22/03/23 14:25:09.91 KVWBweE9.net
実行時に動的に取るためにはどっかで入れてあげないと駄目ですなー

656:デフォルトの名無しさん
22/03/23 16:45:23.47 U3MPlBH2.net
ある比較関数
f = [](int l, int r){return l > r;};
があったとして、priority_queue<int> に f を渡したときと vector<int> を f で sort したときに両者の順番が異なるの非自明過ぎるのだが
なんで priority_queue の方はこれで昇順になるの?

657:デフォルトの名無しさん
22/03/23 16:49:02.84 nUwfSeaH.net
extern C declspec dlldxport 付けて、
実行時に自分自身をサーチすれば、付けた関数については
文字が残るから可能だけど、やるかと言われたら
まあ最悪一歩手前の方法やな...

658:デフォルトの名無しさん
22/03/23 17:47:41.73 Rq928qXu.net
enumの名前ほしがったり関数名ほしがったり
最初からC#使えばいいんですよ。

659:デフォルトの名無しさん
22/03/23 18:52:01.34 wWGNqGIP.net
C++erは速度厨なので名前を実行時解決するC#のリフレクションはあり得ない
C++23に入るかもしれない静的リフレクションを待ちましょう
URLリンク(cppmap.github.io)

660:デフォルトの名無しさん
22/03/23 18:58:48.40 nUwfSeaH.net
静的リフレクションとか意味うっすw
リフレクション欲しいのは大抵自分自身が定義するものではないのに。

661:デフォルトの名無しさん
22/03/23 19:02:11.91 4wwS6ZaC.net
用途に応じてベターな手段を選ぶことができるとこまで整備されると
いいね

662:デフォルトの名無しさん
22/03/23 19:30:22.64 Rq928qXu.net
よくねーな。C++はとことん薄っぺらであるべき。

663:デフォルトの名無しさん
22/03/23 19:48:39.65 BZjVj5dO.net
>>646
template <class T,
class Container = std::vector<T>,
class Compare = less<typename Container::value_type>>
class priority_queue
デフォルトはlessで<を定義して、降順にするのが元の意味
fで<の意味をひっくり返せば、昇順になる

664:デフォルトの名無しさん
22/03/23 20:10:07.72 8yKlU7lo.net
つーかリフレクションてコンパイル時に決定できない事を扱うから意味あるのに
性的に解決できることはリフレクションとしては意味がない

665:デフォルトの名無しさん
22/03/23 20:35:05.43 FjwJYdtM.net
>>649
速度厨? なにバカ言ってんだ
ハードソフトまで含めた全てのトータルバランスを追求するんだよ
そうじゃないおまえの眼がこの世界を正しく写


666:せないだけだ



667:デフォルトの名無しさん
22/03/23 20:52:55.01 k8Z8CHR2.net
またマクロ/const/リフレクション/windowsおじさんが自演で暴れてるw
マクロ→廃止すべき
const→常識なので話題に挙げないべき
リフレクション→静的/手動なべき(というか動的にリンクされない限り、C++では不要)
windows→滅びるべき
なのでおじさん不要w

668:デフォルトの名無しさん
22/03/23 21:42:30.64 Rq928qXu.net
ATL使ってCOMで実装しなさい。

669:デフォルトの名無しさん
22/03/23 21:47:56.30 nUwfSeaH.net
COMとかWin用に大型アプリ提供してる会社しか
継続してないんじゃないか。
C#のCOMは簡単だし妙な記述皆無だから
まだ使ってる人居そうだが。

670:デフォルトの名無しさん
22/03/23 22:19:07.27 k8Z8CHR2.net
COM/DCOMの技術は良かったし、MSはときどきいい技術を作るんだけど、元の信用度が足りなくて普及しなくて失敗するw
COMやC++/CLI以降の話は正確にはC++じゃないので別スレでも作ってやれw

671:デフォルトの名無しさん
22/03/23 22:26:18.54 Rq928qXu.net
MSの信用が足りないとかCOMが普及しなくて失敗したとか釣り針でかすぎ。
井の中の蛙というか下水道のゴキブリ。社会に出たことがないのだろう。

672:デフォルトの名無しさん
22/03/23 23:17:30.63 k8Z8CHR2.net
釣りじゃねーよw
当時OMGのCORBA、JavaのRMI、MSのDCOMとかあったけど、全部潰れてSOAP一択になったろw
今じゃそれも廃れてRESTだけ残ってるw 井の中の蛙はお前w

673:デフォルトの名無しさん
22/03/23 23:26:20.36 e3uFLGnE.net
DCOMその他とCOMを同列に扱うな

674:デフォルトの名無しさん
22/03/23 23:37:17.78 k8Z8CHR2.net
ただのCOMなんて・・・w ActiveXと一部のコントロールで使われただけだろw 一言で言えばゴミw

675:デフォルトの名無しさん
22/03/23 23:48:22.86 Rq928qXu.net
釣りかと思ったらこいつガチの引きこもりやんw

676:デフォルトの名無しさん
22/03/24 00:06:11.51 1Vr2GJ3G.net
自己紹介乙w
ATLほんとに使ったことあんのか?w
俺はWin3.1のMFC/OLE時代からWindowsどっぷりで作りまくってたぞ
Java/.NET以降はWindowsあんまり触らなくなったけどなw

677:デフォルトの名無しさん
22/03/24 00:19:47.29 JVs5nwp2.net
今でもWindowsはcomの塊。IE、DirectX、Office全部comやで。
一太郎にExcelの表貼れるのも、vbscript、perlからExcel呼べるのも全部comのおかげ。
専ブラが一日で作れるのもcomのおかげ。
規格だけで実装では禄にオブジェクト間通信できなかったCORBAを
COMの対抗馬として本気で持ち出すあたりが無知で笑える。圧倒的MSの勝利。

678:デフォルトの名無しさん
22/03/24 01:01:10.28 1Vr2GJ3G.net
そりゃWindowsはOLE時代から使ってるから当たり前だろw
むしろ他で使われてなければ負けなんだよw

679:デフォルトの名無しさん
22/03/24 01:08:56.24 1Vr2GJ3G.net
あと普通にCORBAは結構実装されてんぞ
COMが他のプラットフォームで使われてんの見たことないし、MS以外のCOMもWindowsプラットフォームでも結構レアw
専ブラなんて今どき何で作るのか知らんが、普通ならElectronで書くだろうし、COMってIEコンポーネントで作るのか???w
バカも休み休み言えw

680:デフォルトの名無しさん
22/03/24 01:38:18.08 y95b8UUh.net
Electronだと外からの操作大変だしアプリへの組み込み難しくなるから(electronの中で戦う苦しい状態に)
普通はWebView2もってくんじゃないかな。
どんな独自アプリでもサクッと組み込めるっしょ。

681:デフォルトの名無しさん
22/03/24 02:15:16.69 1Vr2GJ3G.net
ないないw Electron超簡単だよw JS書けるだけでいいし、すごい面倒くさいよw 二重管理だからw
WebView2なんてほとんど使ってるやついないだろうし、何でも外からやらないといけないからすごい大変そうw
Webの画面を表示したいのでなければ俺なら絶対に使わないw

682:デフォルトの名無しさん
22/03/24 02:38:00.53 +RGleBjy.net
今はElectronより高速なTauriだな

683:デフォルトの名無しさん
22/03/24 02:39:48.55 1Vr2GJ3G.net
TauriとかWebView2よりないw

684:デフォルトの名無しさん
22/03/24 03:31:57.74 DeDdmrpu.net
Tauri>>>Electronで大方の勝負ついた感じだな

685:デフォルトの名無しさん
22/03/24 04:02:03.79 y95b8UUh.net
Electronて既存で出来上がってるアプリの一部、
一つのタブ内やパネル内に手軽に組み込めるの?

686:はちみつ餃子
22/03/24 04:16:18.85 3pj9A089.net
WinRT は COM がベースだよ。
C++ から利用するなら旧来の API より使いやすいんだが、
WinRT もそれほど積極的に活用されてる感じはしないな。

687:デフォルトの名無しさん
22/03/24 04:28:29.36 1Vr2GJ3G.net
そこに気付くとはw
C++のままだからな
.NETにすると自動的に変換可能なCOMになるっていうw

688:はちみつ餃子
22/03/24 04:39:56.11 3pj9A089.net


689:デフォルトの名無しさん
22/03/24 05:46:41.46 1Vr2GJ3G.net
.NETのアセンブリは元々publicなら設定によりCOM参照可能に出来る
URLリンク(docs.microsoft.com)
WinRTは言語的な拡張なしに=C++のままで.NET(だけじゃないけどw)とinteractionするので、
URLリンク(en.wikipedia.org)
必然的にCOMになるよねって言っただけw

690:デフォルトの名無しさん
22/03/24 07:07:41.33 JVs5nwp2.net
> むしろ他で使われてなければ負けなんだよw
圧倒的シェアのWindowsではなく
ニッチ市場で使われないと負けという謎のオレオレルールw

691:デフォルトの名無しさん
22/03/24 07:22:11.34 s6VdVAhb.net
イキッてるくせにCOMがそもそも何のためにあるのかがわかってないやつが散見されるな

692:デフォルトの名無しさん
22/03/24 07:44:02.07 1Vr2GJ3G.net
そもそも論ならWindowsのコントロール間でデータを授受するための仕組みであるOLEの成れの果てだぞw
ただ最終的に目指していたのはDCOMで、プラットフォーム非依存、DLLヘルからの脱却/GUID(UUID)での識別/バージョン管理などのローカル諸問題解決を含む、RPCだよw
.NET以降は表立って出て来ない形になり、Windowsでカスタムコントロールを作ったりしない限り、言葉としてもほぼほぼ失われたものだと思ってるw

693:デフォルトの名無しさん
22/03/24 07:47:15.28 JVs5nwp2.net
> COMが他のプラットフォームで使われてんの見たことない
つ OpenVMS

694:デフォルトの名無しさん
22/03/24 07:55:15.79 1Vr2GJ3G.net
VAXは流石に名前しか知らんw マニアックすぎるだろw
Openになってからも興味ないし、Alphaチップマシンは使ったことあるけど、普通にWindows動いてたよw

695:デフォルトの名無しさん
22/03/24 08:11:46.86 s6VdVAhb.net
APIの提供形態ってだけ
APIで発行された要求を処理している何者かがどこにあろうがそういう問題じゃないし
他の類似するものと比べるのもナンセンス
VirualAllocとGETMAINを比べるような不毛な話だ

696:デフォルトの名無しさん
22/03/24 08:34:27.56 1Vr2GJ3G.net
そこでIBMとか・・・時代遅れにもほどがあるでしょ
なんでそんなどんどん話を逸していくの?
俺はDCOM的意味合いでしかCOMという用語を使ってないし、文脈的にはプラットフォーム非依存な話だと思ってたんだがw

697:デフォルトの名無しさん
22/03/24 09:33:43.04 JVs5nwp2.net
C++はオブジェクト思考言語で、COMやCORBAはオブジェクト間通信の技術で、
ネットワーク越し、異処理系間通信もできるからといってそれのみと限定するほうが謎。
しかもコケたCORBAはともかくCOMが普及せず失敗したとかMS-OfficeやWindowsは普及してないと言ってるようなもの。
OLEの成れの果てと言うが木を見て森を見ずというか、むしろ草を見て地球を見ずレベル。

698:デフォルトの名無しさん
22/03/24 13:52:17.42 TSqeyWkd.net
氷河期世代特有のMSアンチおっさんは放置しておけ

699:デフォルトの名無しさん
22/03/24 16:22:26.20 M4wmYApX.net
template引数によって関数の定義有無を変えたいのですが、そのようなことは可能でしょうか?
template<typename T>
class Test
{
public :
  FuncA(){ ・・・ }
  FuncB(){ ・・・ } ←Tがfloat型以外のときに定義するようにしたい
}

700:デフォルトの名無しさん
22/03/24 16:50:06.09 6Nkoi7KJ.net
>>687
Linuxとかに手を出して、ちょっとPCに詳しくなった気になってMSアンチになるやつはどの世代にもいるから安心しろw

701:デフォルトの名無しさん
22/03/24 17:02:11.79 RVLAMmSf.net
>>688
C++20の<concept>使えるなら
void FuncB()requires(!std::same_as<T,float>){...}

702:デフォルトの名無しさん
22/03/24 17:11:46.20 s6VdVAhb.net
conceptは要するにSFINAEだから
C++17ならこういけばいい
auto FuncB() -> std::enable_if_t<!std::is_same_v<T, float>, void> {}

703:688
22/03/24 17:32:02.64 M4wmYApX.net
>>690-691
最近のC++ではそんなことが可能なんですね・・・!!
ありがとうございました!!

704:デフォルトの名無しさん
22/03/24 17:57:10.73 OAaMfHu2.net
あとは特化テンプレートとか

705:デフォルトの名無しさん
22/03/24 18:00:33.75 s6VdVAhb.net
最近のっつーかenable_ifはC++11から使えるぞ

706:688
22/03/24 18:09:06.73 M4wmYApX.net
>>693-694
ありがとうございます!

707:デフォルトの名無しさん
22/03/24 18:09:14.56 RVLAMmSf.net
>>691
そのSFINAEはまずい
class Test<float>が実体化された時点でfuncBが実体化される
(funcBはtemplateではない)
実体化した時点でfuncBの返り値型がtemplate依存のenable_ifではなくなるためコンパイルエラーになる

708:デフォルトの名無しさん
22/03/24 19:35:07.28 1Vr2GJ3G.net
MSアンチはどの世代でも世界的に多いし、WindowsありきのOLEのような技術だけを指してCOMと言ってたら、Windowsの普及=MS Officeの普及=COMの普及になってしまうからなw
C++=OOP言語=RPCはCOM/CORBAというのは普通に自然w
Windowsだけで普及を語るのは正に草を見て地球を見ずレベルw
OSSなモノだと逆にWindowsだけ動かないという現象も日常茶飯事w それくらい嫌われているw
また部分だけで動かない例挙げて、メチャクチャになってるなw
ちゃんと動く例を挙げて、条件を明確にしとけw
_tとか_vとかもあれだしw
Windows坊やたちはこれだから・・・w
// C++11~
#include <type_traits>
template<typename T> auto FuncB() -> typename std::enable_if<!std::is_same<T, float>::value, void>::type {}
int main() {
// FuncB(); // error: no matching function for call to ‘FuncB()’
// FuncB<float>(); // error: no matching function for call to ‘FuncB()’
FuncB<int>();
return 0;
}

709:デフォルトの名無しさん
22/03/24 22:24:41.52 eqpcVqC2.net
MSアンチというよりもMSの囲い込みが強引すぎて、他の環境を知ってしまうとMSから離れたくなるだけでは?

710:デフォルトの名無しさん
22/03/24 22:30:06.36 bdM8JANZ.net
どうしてもC++17以前でSFINAEでやんなきゃいけないなら無理矢理template依存にするしかない
ようこそ黒魔術の世界へ...
#include<type_traits>
template<class T>
class Test{
public:
template<int...dummy, typename std::enable_if<sizeof...(dummy)==sizeof...(dummy)&&!std::is_same<T,float>::value, int>::type = 0>
void funcB(){}
};
int main(){
Test<int> t1;
Test<float> t2;
t1.funcB();
//t2.funcB();
}

711:デフォルトの名無しさん
22/03/24 23:04:17.88 MDLggK/J.net
MSよりマックの囲い込みのほうが鼻につくと思うのは自分だけだろうか

712:デフォルトの名無しさん
22/03/24 23:13:46.53 1Vr2GJ3G.net
apple>>>MS>>>


713:>>それ以外って感じの強さw



714:デフォルトの名無しさん
22/03/24 23:16:10.29 y95b8UUh.net
囲い込みの点ではハードから開発環境からストアに至るまでアップルは異常な囲い込み。
社外に対しては会社も各社員も殆ど貢献しねぇし。
アップルのためだけに請け負い会社潰しながら株価あげるため活動しとる。

715:デフォルトの名無しさん
22/03/24 23:27:03.23 k3BsWDgY.net
MSの囲い込みとか言ってるのは爺だけだろ
OSSにどんだけ貢献してると思ってるんだよ

716:デフォルトの名無しさん
22/03/24 23:44:46.04 1Vr2GJ3G.net
いやいやなんかWeb系のTypeScriptとかvscodeとかazureとかそういうのはいいんだよw
問題はWindows本体w
まともに動かないレベルのハードに未対応というのは分かるけど、どう見ても性能的に問題ないハードを対象外にしちゃうWindows11はどう考えてもやり過ぎw

717:デフォルトの名無しさん
22/03/24 23:45:11.78 rNy1eSrz.net
悪のゲイシ帝国。

718:デフォルトの名無しさん
22/03/24 23:46:28.20 rNy1eSrz.net
UEFIとチンポ2.0はセキュリティでは?

719:デフォルトの名無しさん
22/03/25 00:01:19.19 m/iwpp86.net
>>703
VSCodeが囲い込みツールだもん、使えねぇって

720:デフォルトの名無しさん
22/03/25 01:09:44.76 XVe+E9v/.net
Mac は、Homebrew, Fastlane とか、Rubyist が作らないと滅ぶw
CircleCI の料金表のmedium のクレジットは、
Docker 10, Windows 40, Mac 50
囲い込みとは思えないほど、高い

721:デフォルトの名無しさん
22/03/25 02:12:51.70 72EwLK9c.net
>>704
Windows11のハード対象外は囲い込みとは言わないのでは?

722:デフォルトの名無しさん
22/03/25 03:06:03.91 5+dT7ErM.net
>>704
アップルなんて自社製のマシンでしか動かないんだけど
アプリも自社製のマシンでしか開発できないし
ストアも自社製しか認めない
自社製のアプリの邪魔になるものは開発を認めなかったり審査で落す
こういうのを囲いこみっていうんだけど・・

723:デフォルトの名無しさん
22/03/25 03:15:43.43 MgzERarD.net
Appleは開き直ってとことん囲い込みを追求してるからこそ逆に認められてるところがある
開発言語からしてObjective-CとSwiftっていう独自言語で徹底してる
MSは中途半端にC++標準に擦り寄ってるのがよくないね

724:デフォルトの名無しさん
22/03/25 05:45:38.18 rvvBDzFl.net
VSCodeが囲い込みツール?
Linuxでも動くしそもそもOSSなんだけど…
Visual Studioと言うならまだわかるけどw

725:デフォルトの名無しさん
22/03/25 06:08:26.54 6oNwnU1m.net
iTunesが おきあがり
なかまに なりたそうに こちらをみている!
なかまに してあげますか?
┌──┐
│⇒はい│
│いいえ│
└──┘
iTunesが なかまに くわわった!
QuickTimeが なかまに くわわった!
Bonjour for Windowsが なかまに くわわった!
Apple Mobile Device Supportが なかまに くわわった!
Apple Software Updateが なかまに くわわった!
MobileMeが なかまに くわわった!
Apple Application Supportが なかまに くわわった!
Apple Software Updateが Safariを よびよせた!
Apple Software Updateが iPhoneソフトウェアを よびよせた!

:::::::::::.: .:. . ∧_∧ . . . .: ::::::::
:::::::: :.: . . /彡ミ゛ヽ;)ヽ、. ::: : ::
::::::: :.: . . / :::/:: ヽ、ヽ、i . .:: :.: :::
 ̄ ̄ ̄(_,ノ  ̄ ̄ヽ、_ノ ̄

QuickTime をアンインストールしますか?
>はい
なんとiTunes はしんでしまった!
QTTASKはぶきみにほえている!

726:デフォルトの名無しさん
22/03/25 07:22:48.15 Sf6AbPmi.net
「資源を独占的に確保すること」の意味での囲い込みw
Windowsで市場を独占し、離れる場合のリスクとコストを高めてから、高コストを強いるw
appleがやってるのは独占ではないけど、購入後に高コストを強いる同じ仕組みw

727:デフォルトの名無しさん
22/03/25 08:04:40.58 KarnMDBa.net
macbookで動くwindows見かけると思わず笑みがこぼれるわ

728:デフォルトの名無しさん
22/03/25 08:06:57.63 PW5qBu6I.net
MSが資源を独占的に確保したわけじゃなくて
作りやすいWindows、使いやすいWindowsとユーザが選んだ結果だからね
相乗効果で結果的に市場を埋め尽くしているに過ぎず独占しているわけじゃないけどね
Macが誰にでも開発しやすい環境だったり
linux等が誰にでも使いやすい環境だったならMS市場にはならなかったかもしれない
でもまあMacもWindowsと同じ道を進んでいたら生き残っていなかったかもしれないけど

729:デフォルトの名無しさん
22/03/25 08:13:25.03 bHihdD5b.net
互換性重視で昔はシェア伸ばしたMSも
なぜかAppleのマネして切り捨てするようになってシェア落としてる。

730:デフォルトの名無しさん
22/03/25 08:32:50.33 Sf6AbPmi.net
ほんと頭悪いな・・・OS資源を独占的に確保してるでしょw

731:デフォルトの名無しさん
22/03/25 09:03:46.71 bHihdD5b.net
マカーはほんと馬鹿だからな

732:デフォルトの名無しさん
22/03/25 09:09:22.13 PW5qBu6I.net
>>718
OS資源って何?

733:デフォルトの名無しさん
22/03/25 09:12:25.62 rQC9vpY7.net
嫌ならLinuxでも使えば?w

734:デフォルトの名無しさん
22/03/25 09:15:06.51 6oNwnU1m.net
>>717
MCAの件で愛想尽かしたのに
結局ミイラ取りがミイラってやつだね

735:デフォルトの名無しさん
22/03/25 09:16:17.27 haNY4PtR.net
最近はGPUパススルー備えたKVMでLinuxでもほぼパフォーマンスペナ無しでWindows用ゲームできるらしいけどほんまなん?

736:デフォルトの名無しさん
22/03/25 09:20:09.35 KE5lJ15x.net
>>723
嘘やろ
ハイパーバイザーとゲストosの間を遷移するのにオーバーヘッドかかるやろ
いくらCPU支援機能があるからって無視はできない

737:デフォルトの名無しさん
22/03/25 10:53:37.87 6oNwnU1m.net
同じソフトをホストとゲストで使い比べるとやっぱ体感速度違うからな

738:デフォルトの名無しさん
22/03/25 12:39:31.11 Sf6AbPmi.net
apple製品は買ってないし、Native LinuxもWindowsも使ってるが、WindowsのVC++使いはスレ違いの話題をいつまで続ける気なんだ?

739:デフォルトの名無しさん
22/03/25 18:58:24.97 NAR86/dh.net
>>726
OS資源って何?

740:デフォルトの名無しさん
22/03/25 19:10:47.53 3+VV5Xxj.net
50代になると30代の2割以下の量になるらしいから大事にしろよ

741:デフォルトの名無しさん
22/03/25 19:30:24.85 5XdEy59o.net
ぐり@関賢太郎 航空軍事記者
URLリンク(twitter.com)
何年か前、日本から韓国へのフッ化水素輸出に制限をかける外交摩擦あったよね。
あれで韓国製のガリウム砒素半導体を輸入していたロシアへ供給が止まり、ロシアの軍用AESAレーダーの生産が遅れ、戦闘機への搭載もできなくなるドミノ倒しになっていたことに気付いてしまった。
国際社会から孤立ってこわい
(deleted an unsolicited ad)

742:デフォルトの名無しさん
22/03/26 02:00:27.84 w1Z+3JKm.net
>>726
OS資源って何?

743:デフォルトの名無しさん
22/03/26 22:01:10.04 +PRSGS1Y.net
整数で添え字アクセス可能なコンテナの要素を自身の添え字0~n-1で初期化したい場合どう書くのがスマート?
<algorithm>の他の手段と同様の記述スタイルで書けるならそれに統一したいのでつが、、、
やっぱ
 std::vector<int> arr((size_t)n);
 for (int i = 0; i < n; i++) { arr[i] = i; }
というふうにチョー具体的にfor文とループ変数iを手で書くのに勝る妙案無し?

744:デフォルトの名無しさん
22/03/26 22:09:33.63 RpKSs2nj.net
>>731 URLリンク(cpprefjp.github.io)

745:デフォルトの名無しさん
22/03/26 22:15:39.57 O3+9n+yo.net
イオタ\(^o^)/

746:デフォルトの名無しさん
22/03/26 22:31:07.82 +PRSGS1Y.net
>>732
なるほど<numeric>とかヘッダファイル自体使ってなかったわチョー㌧クス、

747:デフォルトの名無しさん
22/03/26 22:42:20.07 QEpYloYB.net
イオタ\(^o^)/は草

748:デフォルトの名無しさん
22/03/26 22:51:45.23 vQB7bLSM.net
>>726
OS資源って何?

749:デフォルトの名無しさん
22/03/26 23:43:36.18 9q2PYIcF.net
また自演してるしwwwww ようやくiotaを知ったのねw

750:デフォルトの名無しさん
22/03/27 18:49:59.41 lspELT3N.net
初歩的な質問すみません、2,3時間かかってもわからなかったのでここで質問させてください。
独学で3か月くらいの初心者です。
int iResult=1;
wchar_t* ShowStr = new wchar_t;
wsprintf(ShowStr, L"socket failed with error: %d", iResult);
delete ShowStr;
ShowStrはポインタで確保したのでdeleteしないと溜まってしまいますよね?
ShowStrは配列なのかなと思ったのですがdelete[]だとVS先生に怒られてしまいます。
配列の先頭だけ消してしまって残りの部分が参照できない形で残ってるとかそういうことなのかなと思った
のですが、だとすればどうすれば良いかもわからない次第です。
deleteの使い方一応は調べてみたつもりなのですが、
どなたか教えていただけませんでしょうか。

751:デフォルトの名無しさん
22/03/27 18:54:07.95 uW5IEa4H.net
#include <string>
std::wstring mojimoji = L"モジモジ ///";

752:デフォルトの名無しさん
22/03/27 18:56:35.96 7vIiVU2b.net
>>738
単純に配列じゃなくて
wchar_t一個だけのメモリを確保してるからdelete

753:デフォルトの名無しさん
22/03/27 18:58:29.72 7vIiVU2b.net
>>738
あと、一個分のメモリしか確保できてないから、そこに
socketなんちゃらって文字列入れようとするとエラーになると思われる
だから
wchar_t* ShowStr = new wchar_t[200];
みたいにするのが正解か

754:デフォルトの名無しさん
22/03/27 18:59:23.81 7vIiVU2b.net
で、>>741の変更をした場合は
delete[] ShowStr;
になるはず

755:デフォルトの名無しさん
22/03/27 19:31:30.48 lspELT3N.net
>>742
ありがとうございます。
おかげさまで解決できました。
コンパイル時にどれだけのメモリを確保するのかは明確に分かっていたほうがよいのですね
今日は初めてダイアログからソケットをつなげることが出来たし、やっとエラーが出なくなって
何とか枕を高くして眠れそうです。ありがとうございます。

756:デフォルトの名無しさん
22/03/27 19:33:51.31 lspELT3N.net
>>739
wstringというものを初めて知りました。
今回はLPWSTRの必要があったので使わなかったのですが、
ワイド文字を使う上で必要な知識が増えました。
ありがとうございます。

・・・手帳持ちなんだけど就職できるといいなぁ、未経験で

757:デフォルトの名無しさん
22/03/27 19:45:45.04 uW5IEa4H.net
>>744
うまくいきますよーに☆

758:デフォルトの名無しさん
22/03/27 19:52:33.76 lspELT3N.net
>>745
ありがとうございます(≧∀≦๑)ゞ

759:デフォルトの名無しさん
22/03/27 20:24:01.35 nbMAc3Vl.net
pythonのプラグイン作成ライブラリpybind11は今やwstringが標準
さもないとWindows対応できない

760:688
22/03/27 21:15:33.59 Fwb/ewtW.net
>>699
ありがとうございます!
C++14までの設定でそれでいけました!
マジ黒魔術w
そしてC++20なら>>690がいけて感動w
concept神すぎる…!!

761:デフォルトの名無しさん
22/03/27 21:21:28.16 PoGWmBV8.net
wstringしか使えないゴミライブラリなんて使わないでいいよw いつもの自演君w

762:デフォルトの名無しさん
22/03/27 21:35:17.61 VLMZp/O7.net
wstring なんかいらない…普通に std:::basic_string<char16_t> とかで十分
URLリンク(ideone.com)
というか、wstring なんかさっさと obsolete/deprecated にすればいいのに、ほんと馬鹿ですね

763:デフォルトの名無しさん
22/03/27 22:00:38.95 rG9TE9zE.net
std::basic_string<TCHAR>とかはまれによくやる……
が操作や表示に_tで始まる関数を使わなければならないから
移植性とともに魂を損なわれていく気がするので
特段の理由が無い限りWin32APIの方を末尾Aので呼ぶことにしてstd::stringで通すようになった今日このごろ……
>>749
残念、自演君は私だ

764:デフォルトの名無しさん
22/03/27 22:07:12.24 nbMAc3Vl.net
> まれによくやる
どっちなの

765:デフォルトの名無しさん
22/03/27 22:08:19.23 PoGWmBV8.net
2垢でIDがうまく操作できてない感出まくってるw

766:デフォルトの名無しさん
22/03/27 22:10:49.45 rG9TE9zE.net
>>753の書くコードはことごとく根拠が欠けているのであろうことは想像に難くない
検証とかどこ世界の話?、レヴェルかと、

767:デフォルトの名無しさん
22/03/27 22:33:58.84 nbMAc3Vl.net
確かに反ワクチンとかウクライナはネオナチとかこじらせてそう

768:デフォルトの名無しさん
22/03/27 22:59:19.24 K7MWSPEs.net
>>751
WindowsというOSはwchar_tが標準装備であってcharを受け付ける***A はWin9xのレガシーなのだよ...
Win32API向けの文字列操作はwchar_t系に統一するべきなのだが...
大体のC/C++コードは(ファイルIOですら)charがベースなので、Win32APIとの相互運用で***Wを使うことが苦痛になる

769:デフォルトの名無しさん
22/03/27 23:25:52.46 QKAmAp06.net
Microsoftは馬鹿かと思う。
勝手にBitlockerがかかって、「この箱には鍵がかかっています。その鍵をあける番号は
箱の中にあります。」の連続。

770:デフォルトの名無しさん
22/03/27 23:36:32.07 PoGWmBV8.net
そんなことみんな知ってて言ってるだろw 何を今更w
通常C/C++だと低レベルな処理はプラットフォームでAPI分けるから、Windowsでは仕方なく(可能な範囲で)ワイド文字を使用する仕様にしたりすることもある、というくらいw
でもターゲットがWindowsだけだと逆に癖で文字にtypedef切ったり_T使ったりする不思議w

771:デフォルトの名無しさん
22/03/27 23:49:21.31 nbMAc3Vl.net
Pythonの内部コードはUTF-16らしいよ

772:デフォルトの名無しさん
22/03/28 02:22:28.60 51Y1Thh9.net
それも違うw
URLリンク(peps.python.org)

773:デフォルトの名無しさん
22/03/28 08:08:46.35 DkKihmtS.net
ボクが考えるWindowsスレですか、ここは。

774:デフォルトの名無しさん
22/03/28 08:45:03.78 zvnGSWPp.net
どうでもいいけど、黒魔術とかコンセプト神とかなんとか大袈裟な言い回し、ブログとかでよく見るんだろうけど
あまり真似しない方がいい気はする

775:デフォルトの名無しさん
22/03/28 08:56:12.53 HSBaMW3J.net
やたら絵文字を使いまくる頭悪そうなメールとノリが似てるね

776:デフォルトの名無しさん
22/03/28 11:30:00.76 npKEPSZJ.net
>>759
Pythonじゃなくてジャバスクのstringの内部表現やろ
UTF16って意外と標準採用されてるからな
至極単純にUTF8と比べてCPUパフォーマンスは良いし

777:デフォルトの名無しさん
22/03/28 11:35:09.55 4U9zlcIi.net
鼻から悪魔とか自分を足を撃つとか
そういう言い回し好きなアマチュアが吸い寄せられるのがC++って感じする
もちろん、仕事で嫌々使わされてる連中は除く

778:デフォルトの名無しさん
22/03/28 11:37:17.98 npKEPSZJ.net
>>756
標準装備っていうかカーネルがUNICODE_STRINGっていう非null terminatedな明示長stringしか扱わないからな
つまりA版APIは変換コストがかかる

779:デフォルトの名無しさん
22/03/28 13:30:08.02 HSBaMW3J.net
fjによく出没していた河野ってやつが言ってた
「C++はちょっと気が狂ったようなところがある言語」
あんまりあいつに同調したくないがこれは言い得て妙だ
これは何から何までキチガイ仕様ばっかりという意味ではない
たまに首をかしげる変なところがあるってことだ

780:デフォルトの名無しさん
22/03/28 13:39:02.76 yqBWM3bb.net
難しいコード書けても設計出来ないとなんの意味もないしな

781:デフォルトの名無しさん
22/03/28 15:23:35.37 DkKihmtS.net
他人が読めないコード書いてマウンティングする文化があるからな。

782:デフォルトの名無しさん
22/03/28 16:26:35.03 R1D4p1O0.net
>>765
それはどちらもCだろ
C++の黒魔術とかの表現は気持ち悪いと思う

783:デフォルトの名無しさん
22/03/28 21:04:31.59 f80bfIyg.net
>>765
それは C だ…

784:デフォルトの名無しさん
22/03/28 21:31:46.30 Uu0YihOb.net
色々すっきりわかりやすくなってプログラミング効率の良いRustと比べればC/C++どちらも

785:デフォルトの名無しさん
22/03/29 08:04:21.14 mWQ/GdlN.net
>>772
学習曲線をなだらかにしてから言いな。とりあえずNGにしとくわ。

786:デフォルトの名無しさん
22/03/29 08:09:47.04 LEuYcsU9.net
> 学習曲線をなだらか
C++が言うな

787:デフォルトの名無しさん
22/03/29 09:12:38.67 V3Kl11Pp.net
学習曲線をなだらかって何

788:デフォルトの名無しさん
22/03/29 09:40:35.27 FuLLa2J8.net
>>765
最近買ったRust本の帯に、もう二度と自分の足を撃ちたくないならって書いてあった。何なのこれ?

789:デフォルトの名無しさん
22/03/29 09:40:51.62 UOqSecAo.net
学習曲線なだらかだったらいつまでたっても習熟が進まないんだよなあ

790:デフォルトの名無しさん
22/03/29 10:05:42.16 WvuxHdPq.net
舌触りなめらか

791:デフォルトの名無しさん
22/03/29 10:21:02.72 HFhqj5qW.net
ちんちんシュッシュッシュッ!

792:デフォルトの名無しさん
22/03/29 10:46:35.81 MRVYy131.net
>>776
何なのってFPSゲームでしょ

793:デフォルトの名無しさん
22/03/29 11:27:10.53 l/5rTAs8.net
>>777
絶壁だったら学習できないよ。
第一、プログラミング言語を学習したいなんて奇人は少ないだろ。普通はプログラムを作りたいだけだし。
昔Accelerated C++みたいなC++を使うための入門書があったけど、ああいうのを整備する団体とか無いんかな。

794:デフォルトの名無しさん
22/03/29 13:24:22.14 oJxqSb9h.net
>>776
URLリンク(qiita.com)
要するに自分で自分を壊すような話

795:デフォルトの名無しさん
22/03/29 13:36:11.92 owrRZ3L6.net
設計ヘタクソなヤツは致命的、いや、池沼的なの居るからな
Rust養成ギブスで勉強してこいカスって感じ

796:デフォルトの名無しさん
22/03/29 15:03:31.53 ijYpt7F/.net
>>783
Rustやったところで、Pythonのインデントスタイルの勉強と一緒でRustスタイルのコーディングしかできなくなるだけだよ。
C++のプログラム技術向上のためにRustを勉強するとか、まったく意味無い。

797:デフォルトの名無しさん
22/03/29 15:26:21.04 6kEE5hUV.net
>>784
その通り
しかしRustの方がプログラミング効率が良くて書きやすくて保守性も良いから
普通はC++使わなくなるよな

798:デフォルトの名無しさん
22/03/29 15:32:53


799:.51 ID:owrRZ3L6.net



800:デフォルトの名無しさん
22/03/29 19:18:21.80 ijYpt7F/.net
>>785
スレ違い。ここに書き込むの禁止な。
下のスレに行け。
C vs C++ vs Rust Part.3
スレリンク(tech板)

801:デフォルトの名無しさん
22/03/29 19:46:14.12 LEuYcsU9.net
面倒だからメンバは全部public

802:デフォルトの名無しさん
22/03/29 20:17:40.82 rprUptDm.net
structって書けよ

803:デフォルトの名無しさん
22/03/29 22:21:49.66 JBheGd8b.net
structなんぞ頼らずnamespaceに全部書けよ

804:デフォルトの名無しさん
22/03/29 22:27:01.22 pxj3Uqek.net
structはデフォルトがprivateでclassはデフォルトがpublicなことを考えるといっそclassを消してしまった方が愚かな設計がなくなるのでは?

805:デフォルトの名無しさん
22/03/29 22:40:45.57 q6aCWf20.net
>>791
それってRustじゃん

806:デフォルトの名無しさん
22/03/29 22:45:51.77 42Nx7yvC.net
RustRustうるせーっつーの
巣に帰れ

807:デフォルトの名無しさん
22/03/29 23:12:23.14 LEuYcsU9.net
キチガイrust厨しね

808:デフォルトの名無しさん
22/03/30 06:33:06.22 8NFBSa0P.net
>>781
学習曲線は横軸時間で縦軸習熟度の曲線やから絶壁が効率よくて、水平やったら誰も理解できん、という曲線やで

809:デフォルトの名無しさん
22/03/30 07:12:05.54 7Zu/8ZF2.net
>>791
おいおい逆だろw
禿もアクセス種別の省略時の解釈は十中八九誤りだったと言ってるね

810:デフォルトの名無しさん
22/03/30 08:22:59.56 WX1Rp50C.net
>>796
本当だ逆だった…お恥ずかしい

811:デフォルトの名無しさん
22/03/30 12:47:10.06 mFVNBRSc.net
しばらくpythonとか触ってたけど今更C++の隠蔽設計とかバカらしく思えてきた

812:776
22/03/30 17:13:54.11 +a7BCMWw.net
>>782
ありがとう

813:デフォルトの名無しさん
22/03/30 19:26:05.50 xRfGRGrW.net
オープンな性格なのです

814:デフォルトの名無しさん
22/03/30 23:38:58.59 rveKwnBH.net
>>767
河野@琉球大学?(記憶モード

815:デフォルトの名無しさん
22/03/30 23:47:02.15 rveKwnBH.net
しばらくgoとか触ってたけど今更C++のクラスベースのオブジェクト指向とかバカらしく思えてきた

816:デフォルトの名無しさん
22/03/30 23:49:39.17 rveKwnBH.net
ていうかプログラミング言語とか人間の愚かさに対する対策なので
特にシンタックスシュガー的な言語要素は突き詰めれば突き詰めるほど頭おかしい言語になっていくのは必定

817:デフォルトの名無しさん
22/03/30 23:52:55.50 eQfKD0DM.net
>>802
GoもRustもclassなんてなくてstructしかないが困らないもんな

818:デフォルトの名無しさん
22/03/31 01:51:31.09 nXMYhSR8.net
>>802,804
チンチャそれな!

819:デフォルトの名無しさん
22/03/31 02:10:02.10 lTtwcp13.net
C++とオブジェクト指向を関連付けて考えるからおかしくなる
C++の内包する多様なパラダイムの中にオブジェクト指向が含まれてるだけ
C++の良いところは何でもありなところ

820:デフォルトの名無しさん
22/03/31 02:53:58.08 lTtwcp13.net
C++のclassもオブジェクト指向のための文法として捉えるべきではない

821:デフォルトの名無しさん
22/03/31 03:00:57.77 3NXOGCnE.net
C++のclassにpolymorphicというキーワードがあればclassとして理解しやすかっただろうに
C++自体が古いから仕方ない面もあるのだが

822:デフォルトの名無しさん
22/03/31 05:37:45.41 ZLovgCJ7.net
>>804
C++ も struct だけでもたいして困らんけどな

823:デフォルトの名無しさん
22/03/31 06:50:05.99 yEOSoCRj.net
SmalltalkやEiffielみたいにOOPとしての完璧さを目指した言語ではないからなC++は
PascalへのアンチテーゼがCであったように、完璧さを目指すことへのアンチテーゼでもある
そこを批判するやつとは根本的に相容れない

824:デフォルトの名無しさん
22/03/31 06:54:16.14 ivAOVlIc.net
CからC++へ行かずに
CからGoとRustへ行けば十分に問題ない

825:デフォルトの名無しさん
22/03/31 08:09:28.04 il5bYK9P.net
>>811
>>787

826:デフォルトの名無しさん
22/03/31 17:34:12.61 4cSTCvUa.net
>>767
言い回しがそいつのtwitterに出てくる感じと同じすぎる
ワイ大学生なんだけどその人20年以上前からそんな口調なのか

827:デフォルトの名無しさん
22/03/31 17:45:20.70 R4GrqV7T.net
河野氏になんか恨みあんの?
俺知り合いだから代わりに言っとくよ

828:デフォルトの名無しさん
22/03/31 19:53:32.15 mHRscCZz.net
if (xmm0 == xmm1)って下のやり方しかない?
_mm_movemask_epi8(_mm_cmpeq_epi...) == 0xFFFF

829:デフォルトの名無しさん
22/03/31 21:25:00.23 SxSNo1AU.net
>>814
嫌な知り合いすぎる
無自覚?

830:デフォルトの名無しさん
22/04/01 01:39:47.02 /eP2awHk.net
PTESTがあるぞ

831:デフォルトの名無しさん
22/04/01 20:07:44.20 kF+DLIFz.net
>>817
_mm_testc_si1281命令でできるのか
サンクス

832:デフォルトの名無しさん
22/04/02 03:00:41.15 JI80ciY+.net
ハンガリアン記法、いまだ健在なり

833:デフォルトの名無しさん
22/04/02 05:57:08.65 iaVgC0+D.net
プログラムほぼ未経験だけどこれから始めます
今は坊主頭の人の本を読み始めたところです
IDEのCLionを考えています
他におすすめあったら教えてください

834:デフォルトの名無しさん
22/04/02 08:28:40.83 KzPuamrt.net
Visual studioオススメ。VSCode+CMakeでもいいぞ

835:デフォルトの名無しさん
22/04/02 12:16:55.77 roqf8g4r.net
bitsetで実装し終わった後にvector<bool>がconstexpr対応してる事知ったんだが?
はー先に教えてくれよ(クソデカため息)

836:デフォルトの名無しさん
22/04/02 12:49:25.68 /j0/DBCU.net
vector<bool>なんか使っちゃいけません

837:デフォルトの名無しさん
22/04/02 14:22:05.97 YBLKDYh3.net
bitsetを実現するのならvector<bool>は妥当
だと思う派

838:デフォルトの名無しさん
22/04/02 14:30:40.42 YBLKDYh3.net
しかしvectorKbool>様のブツ(一般に数千ビットとかのデカくて比較的疎なやつ)がconstexpr対応している
と特段のありがたみと
かあるん??

839:デフォルトの名無しさん
22/04/02 14:35:10.49 X+p83iug.net
二進法で書いちまった方が…

840:デフォルトの名無しさん
22/04/02 14:36:56.48 T5fexWVc.net
vector<bool> 駄目って言ってる奴らって思考停止のバカでしょ
「特殊化されてるのである時は注意が必要」というのを理解できず思考停止でとりあえず禁止と見なしてるバカ

841:デフォルトの名無しさん
22/04/02 14:38:37.01 YBLKDYh3.net
これか
URLリンク(cpprefjp.github.io)
やっぱ内部でループのみならず、new / deleteするような関数までconstexprであってほしいと願うマニアが一定数居るんやな……

842:デフォルトの名無しさん
22/04/02 14:40:50.98 CNYN+CEs.net
キューとかスタック的な使い方なら自然だと思うね

843:デフォルトの名無しさん
22/04/02 14:44:28.98 p6D1htC0.net
一度作ってみたけどconstexpr関数内でnewしたらその関数内でdeleteまでしなきゃいけないのは使いづらい気がする

844:デフォルトの名無しさん
22/04/02 14:53:16.59 ARI85DWJ.net
まずはvector<bool>で実装してみて問題あるなら考える派

845:デフォルトの名無しさん
22/04/02 14:53:28.58 YBLKDYh3.net
だがちょっとまって欲しい毎秒1億も2億も回るようなループの中でこそ高速化が必須だが
そんなループ内でnew /deleteしようとする発想が最初からなんかおかしいのではないか

846:デフォルトの名無しさん
22/04/03 18:44:27.58 NmP3n2Yz.net
struct Hoge
{
std::vector<Hoge> hoges_;
};
ってなんでコンパイル通るの?
hoges_の定義時点ではまだ、Hogeの定義は完了していないのに。

847:デフォルトの名無しさん
22/04/03 19:05:25.24 Yvr+7/y4.net
struct Hoge {
 Hoge* ptr;
};
が通るのと同じ理屈なんじゃない?

848:デフォルトの名無しさん
22/04/03 19:25:23.89 7tOdFV5I.net
ソースコード次第やな
allocatorでサイズ使いそうなもんだけど

849:デフォルトの名無しさん
22/04/03 19:33:06.66 5C/3HoVM.net
宣言の時点では別に適当

850:デフォルトの名無しさん
22/04/03 19:35:01.81 BfkCmsi5.net
宣言?
どこにも宣言のみの記述はありませんけど?

851:デフォルトの名無しさん
22/04/03 19:48:52.09 CJTxuxUG.net
半角全角使うな厨が絶滅しますように (AA略

852:デフォルトの名無しさん
22/04/03 20:07:54.56 Mnzv/avn.net
定義自体は再帰してても大丈夫じゃない?

853:デフォルトの名無しさん
22/04/03 20:32:55.79 sNbs7j4z.net
>>839
あそう、だったら
struct Hoge {
 Hoge hoger;
};
これもOKだろw

854:デフォルトの名無しさん
22/04/03 20:58:54.41 NWvQ4doQ.net
参照だったらサイズが一意になるから問題なく処理できる
実態だったら無間地獄に落とされるからNG

855:デフォルトの名無しさん
22/04/03 21:17:02.42 sNbs7j4z.net
>>841
839は参照じゃないじゃん
話し通じないな

856:デフォルトの名無しさん
22/04/03 22:20:50.07 wOH19oBO.net
えっstd::vector<T> hoge_; とやった場合Tが何であってもその場でhoge_のサイズは決まるから
struct Hogeのメモリレイアウトは鎧袖一触で決まるか
ら何の問題も無い
決まらないのはhoge_のインスタンスがポインタで保持することになるヒープ上の領域のサイズであって
struct Hogeのサイズは上述の通りstruct Hogeの定義を一通り見たとき鎧袖一触で決まっているから
Hoge::hoge_をインスタンス化するタイミングで問題無くインスタンス化されるという印象のような希ガス
いや知らんけど
※ 個人の感想です

857:デフォルトの名無しさん
22/04/03 22:33:18.09 wOH19oBO.net
とオモタがなんかVS2019(C++14)で試したら以下のコードのビルドが通る怪現象やな……
template<class T, int N>
class VarArr {
 int T[N];
};
struct Hoge {
 VarArr<Hoge, 3> m_arr;
 int m_x;
};
Hoge x;
多分環境に拠るんだと思う

858:デフォルトの名無しさん
22/04/03 22:35:40.26 wOH19oBO.net
VarArr<T, N>の定義をまつがえたサーセン……orz
以下のコードなら正しくビルドエラーになる
template<class T, int N>
class VarArr {
T m_arr0[N];
};
struct Hoge {
VarArr<Hoge, 3> m_arr;
int m_x;
};
Hoge x;
ワイの答えはこれや!

859:デフォルトの名無しさん
22/04/03 23:14:48.08 Mnzv/avn.net
>>839で適当に回答したけどメンバとしてを実体で持つかポインタで持つかで通るかが決まるな

860:デフォルトの名無しさん
22/04/03 23:38:16.75 sNbs7j4z.net
struct Hoge
{
int a[sizeof(Hoge)];
};
はHogeがまだ定義されていないから、コンパイルできない
だったら、なぜ
std::vector<Hoge> hoges_;
は許可できるんだ

861:デフォルトの名無しさん
22/04/03 23:53:21.86 dOp+WKyA.net
>>847
規格的に問題ないからだが、まあポインタなんでサイズ知らんでもええからだな

862:デフォルトの名無しさん
22/04/04 00:18:36.05 F+M9/rKi.net
>>847
std::vector<Hoge> hoges_; はクラスないしstructのサイズには影響しないからじゃないの?
そのクラスないしstructはstd::vector<Hoge> hoges_へのアドレスを保持するだけでしょ?
クラスないしstructの中でのhoges_のサイズはすでに決まっている

863:デフォルトの名無しさん
22/04/04 00:23:58.82 NuCanqg0.net
>>847
>>843に書いたが
struct Hoge {
 std::vector<Hoge> hoge_;
};
の実質は
struct Hoge {
 struct {
   (&(hoge_[0])を指すポインタ);
   (管理用のいくつかのメンバ)
 } hoge_;
};
とゆーことなのでstruct Hogeの中にhoge_[0..]の実体が埋め込まれるわけでは無いから、
hoge_[0..]の型が決まっていなくともstruct Hogeのサイズは問題無く決まるというしくみ
一方hoge_[0]の実体がstruct Hogeに埋め込まれる>>845のケースは気体どおりエラーになる
というワケ

864:デフォルトの名無しさん
22/04/04 09:09:53.47 14cK0a9Z.net
>>843
鎧袖一触の使い方間違いで草w

865:デフォルトの名無しさん
22/04/04 23:12:20.74 JNKuDAOB.net
4、5年c++やってるけどまともなものを作れない
どれくらいで、ネットで有名なソフトって作れるものなの?
例えばvscodeみたいな便利なアプリ

866:デフォルトの名無しさん
22/04/04 23:46:47.47 9GHqD2yn.net
>>852
VScodeはElectronつまりJavaScriptで書かれてるよね

867:デフォルトの名無しさん
22/04/05 00:26:55.67 btSnYNGS.net
>>852
C++Builderが楽だよ

868:デフォルトの名無しさん
22/04/05 01:43:21.89 QuV3GhxG.net
windowsは触ったことがない

869:デフォルトの名無しさん
22/04/05 02:00:35.56 QYslDBWm.net
ならばElectronかTauriがオススメ
WindowsだけでなくMacでもLinuxでも動くマルチプラットフォーム

870:デフォルトの名無しさん
22/04/05 06:11:04.09 PM3+0qST.net
>>852
言語だけ触ってても無理
自分は◯◯を作るんだという
一途な意思がいる
ネットでウケるかどうかは通常どうにもできない
もし市場の需要を読んで開拓ができるなら
もうそのままプロになれる

871:デフォルトの名無しさん
22/04/05 10:33:40.77 FcLzG6G8.net
>>852
まともって言うか一定規模以上のソフトを作ろうと思ったらオブジェクト指向デザインパターンを網羅していく事の方が大事
難しいハッキングをやるよりも設計の方がなんだかんだで難易度高いからな

872:デフォルトの名無しさん
22/04/05 17:09:26.03 PM3+0qST.net
「成功者」の法則をなぞるだけでは成果は出せない
そんなの誰でもできるから
形振り構うことより興味の向くまま突っ走るほうが肝心
そうして何かを成し遂げると自分なりの法則ができている
それまで周りは散々バカにしてくれるが
そんなのに折られないメンタルも大事だ

873:デフォルトの名無しさん
22/04/05 17:46:09.74 YcgsN5By.net
メモリマップドファイルのライブラリが標準入りするのってまだまだ先ですか??
標準ライブラリとするのに何か問題でもあるの?

874:デフォルトの名無しさん
22/04/05 19:10:03.35 Ssg9XCyk.net
<filesystem>ですら入ったの最近だしあんまり期待してない
socketとかのネットワークライブラリも標準にはないんだぜ?

875:はちみつ餃子
22/04/05 19:53:34.34 AUzgrMft.net
>>852
個人でなんらかのソフトを作る場合には「動くプログラム」を意識するといいよ。
構想通りに設計しようとするよりは機能を極小に絞ってでも動く状態のプログラムを作ってみて、
それを拡張していくという形にすれば行き詰まったところが学ぶべきことが潜んでいるところだとわかる。
ある程度までいったら最初から作り直したくなるときがくる。
学びながら作ったものなんてろくでもないんだから作り直すはめになるもんなんだよ。
どうせ作り直すと割り切って色々やってみればいい。

876:デフォルトの名無しさん
22/04/05 20:56:02.32 6DtMUNMI.net
Googleの人もイテレーティブな開発が良いって言ってたなあ

877:デフォルトの名無しさん
22/04/05 21:08:43.94 79YAP4SX.net
あーすべき、こーすべきと雁字搦めにPGを縛る硬直的で強迫的な教条主義が
投げやりなやっつけ仕事を大量生産するという�


878:ウ訓から色々な提案が出てるのに 教わったことにしがみつく後ろ向きな人が悪しき循環を継続させちまう



879:デフォルトの名無しさん
22/04/05 21:15:39.04 YcgsN5By.net
C++って他の言語と違って何でも出来るから情報収集に時間使いすぎるんだよな
プランAからZまであらゆる手法を検討して最善手を打たなければどこかで詰む事になる

880:デフォルトの名無しさん
22/04/05 21:15:57.95 rM7yNqDT.net
大昔の記憶だけどメモリマップというかネットワーク系のライブラリはC++に追加されないのかって聞いたときに
OS依存の仕様は実装されないって聞いた記憶あるけど最近のC++は方針変わったのか?

881:デフォルトの名無しさん
22/04/05 22:34:00.51 QFtrY3nt.net
C++とSTLは別だよ

882:デフォルトの名無しさん
22/04/05 22:39:47.79 vLZKRt0y.net
threadみたいにするならかまわんのだろ

883:デフォルトの名無しさん
22/04/05 22:54:42.49 79YAP4SX.net
プロセスがサポートされないアレでか

884:はちみつ餃子
22/04/05 23:18:25.53 AUzgrMft.net
スレッドは OS が提供するスレッドと一対一で対応することを意図しているという記述がある。
URLリンク(timsong-cpp.github.io)
スレッドを持たないシステムに対応付けるならスレッドの生成に常に失敗するような実装になってても仕様には反しないんじゃない?
noexcept は例外を送出しないことを保証するけど実行時エラーがないことを保証するわけではない。

885:デフォルトの名無しさん
22/04/05 23:23:24.49 79YAP4SX.net
今さらDOSでC++11か
いや否定はできんけど・・・

886:デフォルトの名無しさん
22/04/05 23:31:23.00 EtikemGC.net
プロセスを持ち出す意味がわからん
スレッドがあればいいんじゃ?

887:デフォルトの名無しさん
22/04/05 23:37:46.31 79YAP4SX.net
なんで?
アドレス空間の多重化とプロセス間通信はOSが違ったら移植性なしで割り切るの?

888:デフォルトの名無しさん
22/04/05 23:42:47.00 EtikemGC.net
それがないとスレッドも許されんという理屈がわからない

889:デフォルトの名無しさん
22/04/05 23:52:53.92 79YAP4SX.net
スレッドも許されないなんて主張してないが

890:デフォルトの名無しさん
22/04/06 07:13:16.72 e/YNs2XJ.net
質問ですがイテレータ間の距離はstd::distance<T>(first, last)で求められるそうなんですが
求めた距離を再びイテレータに戻す場合はどうすれば良いですのん?firstとlastがラ
ンダムアクセスイテレータならfirst + std::distance(last, first) == lastが成立するという具合に
足せば良いけどランダムアクセスイテレータか否かによらず共通に使えるテンプレートは?

891:デフォルトの名無しさん
22/04/06 08:10:41.61 tJlAug24.net
>>876 std::next() URLリンク(cpprefjp.github.io)

892:デフォルトの名無しさん
22/04/06 08:51:32.67 hbDmvmaG.net
>>876
std::advance(イテレタ,求めた距離)

893:デフォルトの名無しさん
22/04/06 14:47:30.60 /VxyOfiN.net
technical default とかいう新技が出てきたね

894:デフォルトの名無しさん
22/04/06 18:03:31.71 OIlaSdNT.net
みなさん多次元配列ってどうやって持ってますか?
・blas, lapack等fortranの資源を使いたいからローメジャー、カラムメジャーは宣言時に決めたい
・添字アクセスがネイティブの多次元配列並みに早い
・STLコンテナみたいに使える
等の条件を満たす良いライブラリありますかね
本当はSTLに入ってほしいんですが、なぜ未だにないんですかね?

895:デフォルトの名無しさん
22/04/06 18:15:07.58 Iu/ahyl1.net
ネイティブの多次元配列とは

896:デフォルトの名無しさん
22/04/06 18:18:59.68 OIlaSdNT.net
>>881
ああすみません私めは言語障害者だから変な言葉使ってるかもしれません
Cの多次元配列のことを変な呼び方をしてしまいました
すみません

897:デフォルトの名無しさん
22/04/06 18:30:19.00 aY4pnG+o.net
eigen gmtlとか?

898:デフォルトの名無しさん
22/04/06 19:07:48.95 ofj8wLUE.net
1つめがよーわからんけど
・次元数はコンパイル時決定
・要素数もコンパイル時決定
・子要素のサイズは全て同じ(arr[0].size()==arr[1].size() が常に成り立つ)
ってことでええの?
それなら単純にstd::array<std::array<T, 4>,5>でいいとは思うが

899:デフォルトの名無しさん
22/04/06 19:36:43.45 vJ8PYFJ1.net
全部arrayだとスタックに配置される事あるからvector<array>でやってるな

900:デフォルトの名無しさん
22/04/06 21:17:51.29 tUlkAQY7.net
>>880
std::mdspanというのが提案中だがまだ時間かかりそう

901:デフォルトの名無しさん
22/04/06 23:18:21.83 NvxWnsbd.net
>>877 >>878
レス㌧クス
やっぱいろいろ一般化されたテンプレートがいっぱいあったら
テンプレートを特殊化せずに済む幅がひろがりんぐ、

902:デフォルトの名無しさん
22/04/07 03:17:05.89 yw7pyl+g.net
>>883
eigenは遅い
gmtlはメンテナンスされてない
>>884-885
一次元配列にマップしたときの並び方が柔軟であってほしいって書いてるでしょ
外部ライブラリ必須じゃないかな現状
>>886
mdspanは実体を持たなくてmdarrayは実態を持つんだっけ
C++23に入るって話じゃなかったっけ?
俺C++の新機能はそんなに熱心に追ってないけどこれだけは待望してる
>>880
ということで、現状はboostじゃないかな
これもメンテナンスされてないようだが、マシだと思う
良いライブラリがあったら俺も知りたい

903:デフォルトの名無しさん
22/04/07 03:34:21.33 zyrTrwHF.net
柔軟な多重配列なんて自分ですぐ作っておしまいな話なのに
なぜ標準にないとかライブラリがないと言い出したり将来の仕様に期待するとか意味不明

904:デフォルトの名無しさん
22/04/07 03:49:06.16 g2f/LEmv.net
numpyを使う。もちろん他にpython併用する理由があればだけど。
ローメジャーなのでメモリ上での向きは個別にやってる。

905:デフォルトの名無しさん
22/04/07 05:59:06.00 kMhdBz2h.net
>>880
blas使いたいんならstd::sliceがモロそのものだよ

906:デフォルトの名無しさん
22/04/07 06:13:35.95 yw7pyl+g.net
>>889
やってから言えや
例えば、高速なランダムアクセスとか添字の組と要素番号の間の高速なマッピングとか、どう実装するつもりでいるの?


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch