[過去ログ] C++相談室 part157 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
553: 2021/10/11(月)02:51 ID:1CVjhT+M(1) AAS
>>551
cppref見たらクロージャオブジェクトのサイズは未規定とあって気になった
554(1): 2021/10/11(月)05:43 ID:FIUH1xZN(1) AAS
>>552
関係大ありだよ
あの当時はアセンブラでC++は使ってなかったというだけだ
わかってないのおまえさんだな
555(1): 2021/10/11(月)07:43 ID:M/9mFHzI(1/2) AAS
>>554
説明するべきでないのが残念ですが、その頃からあなたが分かってなかっただけですよ
556(1): 2021/10/11(月)07:52 ID:pMbZgi1h(1/2) AAS
>>555
おまえさんがどう思おうと勝手だが
センターオウンコーディングとかやってたよ
マウント取られる気が全くしねえぜ
557: 2021/10/11(月)08:08 ID:M/9mFHzI(2/2) AAS
>>556
マウント取る取らないとかどうでもいいです
あなたが理解できないのをどうにもできないだけなんです
558: 2021/10/11(月)08:46 ID:pMbZgi1h(2/2) AAS
と言うことにしたいのですね
559: 2021/10/11(月)09:17 ID:G+wdAsto(1) AAS
リエントラント目指してもいいじゃないの
560(1): 2021/10/11(月)09:58 ID:F+cmXQty(1/2) AAS
クラスの型を自動変換して関数に入れるにはどうすればいいですか?例えば、
class A {
public:
double hoge;
};
class B {
public:
int hogehoge;
};
int function(A aaa);
省3
561: 2021/10/11(月)10:22 ID:T3qmZxdk(1/3) AAS
>>560
Bを受け付けるfunctionを書くんや
562: 2021/10/11(月)10:50 ID:QW1mycSW(1) AAS
B extends A
としたら
function
の引数をキャスト?で動かない?
563: 2021/10/11(月)10:54 ID:RUUSz/4T(1/2) AAS
簡単や
template<class A>
int function(A aaa);
564(1): 2021/10/11(月)12:11 ID:F+cmXQty(2/2) AAS
できました。ありがとうございます。
また、ポインタのvectorを実体として使うにはどうすればよいでしょうか?
std::vector<A*>
で定義されてるものを、
std::vector<A>として使いたいです。
別のvectorにポインタ値を詰め直せばいけると思うのですが、元のポインタの場所のまま実体で使いたいです。無理でしょうか。
565: 2021/10/11(月)12:31 ID:T3qmZxdk(2/3) AAS
参照を使うんや
566: 2021/10/11(月)13:03 ID:NaSXzxBw(1) AAS
参照のvectorなんて作れたっけ?
567: 2021/10/11(月)13:16 ID:T3qmZxdk(3/3) AAS
reference_wrapper使うんや
まあ下らんこと考えんほうがええ
568: 2021/10/11(月)17:28 ID:0Mn4AOx6(1) AAS
>>564
ややこしい所有権・所有責任問題が発生するから、ソースコードを見直したほうがいい。
具体的にはstd::vector<*A>を
std::vector<std::shared_ptr<A>>
にして、shared_ptr<A>をやり取りするようにすべきだな。
性能問題とか互換問題とかでも無ければvector<*A>なんて使うもんじゃない。
569: 2021/10/11(月)20:43 ID:bPHZE8G4(1) AAS
言ってることは同意だが、ポインタの型もまともに書けないような人に言われても説得力がない
570: 2021/10/11(月)20:47 ID:c9XBGwkD(1) AAS
Rustと間違えたんじゃね
571: 2021/10/11(月)22:25 ID:RUUSz/4T(2/2) AAS
簡単や
std::vector<std::shared_ptr<A>>
572: 2021/10/11(月)23:13 ID:9gfKW03X(1) AAS
ドラクエ3のバージョン違いの謎に迫る!
動画リンク[YouTube]
2021/10/01に公開済み
FC版DQ3には、AバージョンとBバージョンが存在する
今回はROM内のプログラムを徹底比較!
どこが違うのか白黒ハッキリさせると息巻いた内藤プロ
当時自分が作ったのに全て忘れてて大変なことに・・
573(2): 2021/10/12(火)04:13 ID:jMkI4z1q(1) AAS
ぶっちゃけ継承とかポリモフィズムはオワコンでテンプレート最強?
574: はちみつ餃子 ◆8X2XSCHEME 2021/10/12(火)04:25 ID:WB1ScBpO(1) AAS
>>573
過去の C++ の流行においては継承が強調されすぎたこともあって
継承の害悪な面も見えて大幅な揺り戻しは有った。
しかしそれぞれに役割があるのでどれかが廃れるとかいう話ではない。
バランスとしては継承が控えめになったけれど、だからといって継承のない C++ はありえない。
結局のところそれぞれを適切に使えというだけのこと。
575: 2021/10/12(火)06:45 ID:LoAbYEbi(1) AAS
継承が有効に使われている事例をひとつも知らないヒヨっ子丸出しな質問だな
テンプレートの何がいいのかもわかってなさそう
576(1): 2021/10/12(火)07:03 ID:bL2VfUhD(1) AAS
CRTPとか見たら脳を壊しそう
577: 2021/10/12(火)07:24 ID:+oJUuDWk(1) AAS
>>576
virtual使えないor使わない処理系で、使ってみたけど確かに頭にスッキリ入らんパターンだわw
あれはあれでポイントで使うと便利だし、反対にやっぱvirtualも便利でいいよねーとか。
578: 2021/10/12(火)08:16 ID:4AIb2U7h(1) AAS
>>573
メソッド共通化を実現するための継承はオワコン。
プレースホルダーを用意するための継承は現役。
総称型が実装されれば継承自体をオワコンにできそうな気がするけど、総称型風スマートポインタて無かったっけ?
579: 2021/10/12(火)08:20 ID:vDVhyOYS(1) AAS
耳が腐る
580: 2021/10/12(火)09:51 ID:kjIGaWla(1/2) AAS
何でこんな荒れてんの?
581: 2021/10/12(火)10:09 ID:qN1bonoC(1) AAS
いつものこと
582: 2021/10/12(火)10:40 ID:kjIGaWla(2/2) AAS
単発荒らしか
583: 2021/10/13(水)04:27 ID:yxtzEQdj(1) AAS
void * の生ポが最強
584: 2021/10/13(水)07:29 ID:w2mbz/VV(1) AAS
○○なんていらねーよ害悪だけだ
まだ使ってるやつは全員バカ
これからは△△を使うべきだ
なーんて言っちゃってマウント取った気になってるおめでたいやつ
メガトン級にアホにされてることに気付かねえよな
585: 2021/10/13(水)09:41 ID:V99uCirA(1/2) AAS
vector を shuffle する場合について質問です(gcc/windows10でテスト)
vector<int> vec(50, 0);
for(int i = 0; i < 10; ++i) vec[i] = 1;
random_device dev_seed;
mt19937_64 mt(dev_seed());
shuffle(vec.begin(), vec.end(), mt);
で確かに shuffle されているのですが疑問点がいくつかあります
1.dev_seed()が毎回同じ値を返してる?
(random_deviceの使い方を間違えてる?)
2.先頭の値が1に偏ってる?
省3
586: 2021/10/13(水)09:47 ID:V99uCirA(2/2) AAS
ああこれか
外部リンク[html]:cpprefjp.github.io
>GCC (MinGW): GCC 9.1までは擬似乱数生成器 mt19937 を用いるため使用を推奨しない。詳細は備考欄を参照。GCC 9.2からは暗号論的な乱数である rand_s を使用する。
587: 2021/10/13(水)10:51 ID:ocY7/s3a(1) AAS
偏りを判断する目が偏ってるのでは
588: 2021/10/13(水)12:39 ID:L2HfUVD6(1) AAS
random_deviceがダメな環境でrdtsc命令使ったことあるな
良いやり方かは知らん
589(1): 2021/10/13(水)16:09 ID:SuRXriSW(1/2) AAS
外部リンク:cpprefjp.github.io って
外部リンク:ja.cppreference.com があるのになんで使われてるの?
590(1): はちみつ餃子 ◆8X2XSCHEME 2021/10/13(水)16:23 ID:6cp7j/AO(1) AAS
>>589
前者は編集者による解説なども含んでいて仕様の意図や習慣がわかりやすい。 実装の現実みたいな補足もあるし。
後者は仕様書の再編を指向してるから正確だけど規則の羅列を読むのがしんどいこともある。
適宜使い分けて。
591: 2021/10/13(水)16:49 ID:SuRXriSW(2/2) AAS
>>590
ありがとう
592: 2021/10/14(木)00:25 ID:unU20Liw(1) AAS
逆にjaはほぼ見ないな
cpprefjpかen
593: 2021/10/14(木)17:38 ID:0xmYH4RJ(1) AAS
みんなで広げよう友達の輪
外部リンク[io]:github.com
594(2): 2021/10/14(木)19:08 ID:D5VUtH01(1) AAS
今までJavaでやってきたけどC++もやってみたいんだよね
すぐ出来るようになると思う?
595: 2021/10/14(木)19:10 ID:u3valL3D(1) AAS
>>594
ならない
C言語のポインタや文字列について勉強したほうがいい
596(1): 2021/10/14(木)19:12 ID:pMO89bX6(1) AAS
>>594
c++でちょっとした文字列パースして内容に応じたオブジェクト構築する処理書いてたの、
ほぼ使ったことないJavaに移植したらスゲー早く出来てワロタ。C#もサクサクできたな〜
逆は色々イラッとするんじゃねぇかな?
597(1): 2021/10/15(金)01:29 ID:oSpeFu2A(1) AAS
元々C++はその辺の文字列処理を毎回1からゴリゴリ書くような言語じゃなくて何らかのライブラリを利用するものだと思うけど、
クロスプラットフォームで各種文字コードが自由に扱えて、c++11以降の仕様に対応してて、かつかゆいところに手の届くライブラリって意外とないんだよね
いや、俺が知らないだけかもしらんけどw
598: 2021/10/15(金)05:56 ID:JZ8LRo6T(1/5) AAS
実質的な標準と呼べるものは今もないよ
599(1): 2021/10/15(金)09:26 ID:c8xS1fS2(1) AAS
>>596
std::regex使ってようやっと、かね。
c++はいつまでたっても文字列処理苦手なままだわ。
600: 2021/10/15(金)10:21 ID:Sjupi756(1/3) AAS
Javaから入ると不能(陰ポ)になる
もう手遅れ
601: 2021/10/15(金)10:22 ID:Sjupi756(2/3) AAS
>>597
wxWidgets
602: 2021/10/15(金)10:26 ID:Eg3Mb3n8(1) AAS
あれ出来上がるバイナリ重すぎなんだけど、今は違ったりするのかね
603: 2021/10/15(金)11:49 ID:Sjupi756(3/3) AAS
Debugだとバカデカくなるけど
Releaseは気にならないレベル
(DLL除く)
604: 2021/10/15(金)11:53 ID:JZ8LRo6T(2/5) AAS
std::regexと等価なインターフェースを各々の正規表現ベンダーが用意してくれればいいんだが、それすら実現されていないお寒い状況
605: 2021/10/15(金)12:03 ID:XHojpqKh(1) AAS
>>599
その辺も無いわけじゃないんだけど、クラスの構造どうしようかとか、メモリ管理どうするかとか、
変態trmplateでパズルしてみようかとか、選択肢多い分考えることも多い部分で時間かけることが
多い所はあるなーって。それがC++使いたい動機の裏返しでもあるんだけど。
あと本人の問題120%だが、ボケて油断してると、エラー直すのにやたら時間かかったりで。
Javaとか詳しく知らん状態だから言えるのかもしれんけど、もうこうするしかネェってレールが
最初からあるような印象でした。つかオラクルのライセンス問題のほうがムズいw
606: 2021/10/15(金)12:19 ID:Q47teFml(1/2) AAS
等価って図々しいだろ
607(1): 2021/10/15(金)12:34 ID:Ax3dDCZ3(1) AAS
std::regexみたいな文字コードというものがあることを知らない人間が作ってそうなものを標準だと思ってつかうのはやめたほうがいいと思います
608(1): 2021/10/15(金)12:53 ID:JZ8LRo6T(3/5) AAS
char8_tが導入されたんだからutf-8しばりでいいじゃない
609: 2021/10/15(金)13:14 ID:x+xcCYcO(1) AAS
なんか最近曖昧な上に突っ込む点多すぎる内容的にはどうでもいい話題が多くない?
610: 2021/10/15(金)13:33 ID:ma4A3Lrr(1) AAS
>>607
utf8限定ならそこそこ。
もうutf8がデファクトだから、内部処理はutf8に統一した方がいいよ。
611(1): ハノン ◆QZaw55cn4c 2021/10/15(金)19:29 ID:0K4QrynR(1) AAS
>>608
内部コードは utf-32 でやっているので、utf-32 縛りのほうがうれしいです‥
612: 2021/10/15(金)19:56 ID:JZ8LRo6T(4/5) AAS
>>611
はぁ?
std:::basic_regex<char8_t>、std::basic_:regex<char16_t std:::basic_regex<char32_t> のどれでも好きなの使えばいいじゃん
613(1): 2021/10/15(金)20:01 ID:JZ8LRo6T(5/5) AAS
ところで、char16_t、char32_tってエンディアンはシステム依存しばり?
614: 2021/10/15(金)20:03 ID:eqKsqNtm(1/3) AAS
ちなみに、いま使えるみたいですよ。
むかしは使えることになってるのに実際は使えなかったんだけど。
自作イテレーターにも対応してるようです。
アップルは知らんけど。
Ubuntu+gcc、Windows10+clでは自作イテレータでstd::regex<>が使えました。
これは、HTML、XML、JSONのデータ構造からコンテンツ内のみを検索のような事に使えます。
標準から外れるような議論もあるそうですが、便利なので外れないように抗議していきましょう。
615: 2021/10/15(金)20:12 ID:eqKsqNtm(2/3) AAS
C++20でchar8_tが入ると便利になりますよね。
616: 2021/10/15(金)20:12 ID:Q47teFml(2/2) AAS
>>613
規定しない
なのでそういうのはそこでは気にしない
617: 2021/10/15(金)20:35 ID:eqKsqNtm(3/3) AAS
STLはセントルイスの略。
では、GCCは何処でしょう?
618: 2021/10/15(金)20:50 ID:R98eOYn2(1) AAS
つまんね
619(3): 2021/10/15(金)21:40 ID:HBylJ5Wv(1/2) AAS
平面3リンクマニュピュレータの逆運動学のプログラミングが分かりません。
キーボードで手先の位置を入力すると、関節角が表示されるようにしたいです。
scanfを使うのと、アームの長さなどは適当に決めていいという条件です。
わかる方いたら、送って欲しいです。
620: 2021/10/15(金)22:21 ID:fUsvamq4(1) AAS
>>619
どこの大学のなんていう授業か教えてくれたら送ってあげる
621: 2021/10/15(金)22:41 ID:HBylJ5Wv(2/2) AAS
大した大学ではないです。ロボット工学です。
622(2): 2021/10/16(土)10:16 ID:pBeCkfuy(1/4) AAS
>>619
冗長マニピュレータで一意に求まらん。制約条件設けてるはずだが。
623(1): 2021/10/16(土)11:55 ID:NekA8urB(1/4) AAS
>>622
リンクの長さは良さそうな値を定義してください。関節の座標はこちらで決めずにあくまでも手先の位置・姿勢であるxed、yed、φedから計算で出します。解が複数出てくるので、全ての候補を求めてください。
例えば、リンクの長さは根元から順に0.3m、0.3m、0.05mなどで良いです。
プログラムとしては手先の目標値を入力して、θ1、θ2、θ3が出力されればOKです。
624: 2021/10/16(土)12:05 ID:NekA8urB(2/4) AAS
>>622
目標値は、x=0 y=0.3m φ=90degがいいと思います。先ほどのリンクの長さの設定値で楽な姿勢でロボットの手が届く範囲ですので。
625(2): 2021/10/16(土)12:08 ID:pBeCkfuy(2/4) AAS
>>623
手の姿勢まで指定してて >>619 と違う問題になってんじゃん。どんなテキストにも解法載ってる問題丸投げしてんだな。
626(1): 2021/10/16(土)12:14 ID:NekA8urB(3/4) AAS
>>625
テキストに載ってないからここで質問してるんですよ。手の姿勢は例えばの話ですよ。どっちみちscanfで入力するんですから。
627(1): 2021/10/16(土)12:22 ID:pBeCkfuy(3/4) AAS
>>626
問題が違うっつうの。
ロボット工学のテキストには必ず載ってる。よく読めアホ。
628(2): 2021/10/16(土)12:35 ID:NekA8urB(4/4) AAS
>>627
日本語分かる?プログラムは載ってないから。教科書に載ってるから見ろって丸投げしてんのどっちだよ。
629: 2021/10/16(土)13:20 ID:N8k1BZc2(1) AAS
>>628
お前だよどう考えても
630: 2021/10/16(土)13:59 ID:Ilt9CI+j(1) AAS
答える価値がないと思うなら放置しろよ
くだらねえ煽りやってんな迷惑だ
631: 2021/10/16(土)21:12 ID:pBeCkfuy(4/4) AAS
>>628
プログラムが載ってるわけねえだろ、アホ。
載ってんのは**解法**(>>625)
632: 2021/10/16(土)21:15 ID:1x8IpOH2(1) AAS
> どっちみちscanfで入力するんですから。
このレガシーさには誰も何も思わんの?笑
633: 2021/10/16(土)21:21 ID:gJanIysk(1/5) AAS
ssfanf_s()を使った方が(%sとかについて)ちょっと安全
634: 2021/10/16(土)21:31 ID:ex7yhveJ(1) AAS
安全性の話じゃねえだろ
635: 2021/10/16(土)21:53 ID:EatL4YvD(1) AAS
わざわざC++なんか使っときながら勉強不足でモロアンチパターン踏んでるバカ
よくいるよね
636: 2021/10/16(土)22:09 ID:n5lzAHDj(1) AAS
どういうの?
637(1): 2021/10/16(土)23:14 ID:gJanIysk(2/5) AAS
やっぱ普通fgets()して1行全体を読み込んでからstrtok_s()使いマスヨネー
638: 2021/10/16(土)23:16 ID:gJanIysk(3/5) AAS
文字列の数値化はstrtol()、strtoul()、strtof()、strtod()をオーバーロードしたwrapper関数を呼ぶテンプレートにすれば
cinと同等の型安全性と同等以上の使い勝手が実現にできるし、
639: 2021/10/16(土)23:41 ID:VgkITY1O(1/2) AAS
C++な人ってゴリゴリ自分でBNF的なparser combinator書くイメージだな
わざわざcstring使う人はいない気がする
640: 2021/10/16(土)23:45 ID:gJanIysk(4/5) AAS
いろんな人の手を経たプロジェクトだと CString(Windows) と std::string
(ていうか正確にはstd::basic_string<TCHAR>)が混在しがちなのがほんのちょっと悩みどころ
641: 2021/10/16(土)23:46 ID:VgkITY1O(2/2) AAS
えーっと・・・cstringはC言語のstring.hのことだよ
642: 2021/10/16(土)23:53 ID:gJanIysk(5/5) AAS
しらそん
いちいち
#ifdef __clusplus
# include <cstring>
# include <cmath>
#else
# include <string.h>
# include <math.h>
#endif
みたいな書き方するん会、
643: 2021/10/16(土)23:54 ID:6ga3nra2(1) AAS
json文字列として入力データを受け取って既存のjsonライブラリでパースするのが無難じゃないですかね
644: 2021/10/17(日)09:22 ID:4Zt4uwKf(1/5) AAS
C++でfgets使うアホの世界チャンピオンがいるな
645: 2021/10/17(日)09:40 ID:Rn6uB4uI(1/4) AAS
壊れても居ないものを直そうとするヴァカに言われたくはないし、
行の長さが定まっていないみたいなアフォな外部データ設計でない限り
fgets()で軽くて十分
646(1): 2021/10/17(日)09:48 ID:4Zt4uwKf(2/5) AAS
直すって何を?
ああ、おまえさんの頭か
647(1): 2021/10/17(日)11:05 ID:cds0CTiX(1/3) AAS
今ならメモリ不足とか気にする必要はほぼないから、
fgets()よりも、テキストファイル全体を一気に読み込んで1行分をstring_viewで返していく、みたいな流れの処理の方が効率は良いはずだよね
648: 2021/10/17(日)11:06 ID:XrR+wpGu(1/7) AAS
MSVCのfgetc()とfgets()は実行速度が遅い
649: 2021/10/17(日)11:19 ID:Rn6uB4uI(2/4) AAS
>>646
ちゃうちゃう、目新しいという以外にメリットも無いのに飛びつく誰かさんの方
>>647
行の長さが定まっていない仕様というのは大変恐ろしいことでありまして、
40TBの入力も許容するという意思表明なのであります
650: 2021/10/17(日)11:23 ID:XyIQiUpb(1/5) AAS
どれもこれもザックリすぎて話にならない
651: 2021/10/17(日)11:24 ID:Rn6uB4uI(3/4) AAS
こと外部データに関しては、読み込み終えないとサイズがわからない、みたいな仕様は悪手
で、異常な入力に対してエラー出力するプログラムは正しいが
クラッシュするのはバグ
という観点からすると、動的メモリ確保による不定長読み込みができると言っても活かしようが無く、
結局fgets()でいいやん?となる
652(3): 2021/10/17(日)11:27 ID:XyIQiUpb(2/5) AAS
fgets使うくらいならOS固有の関数を呼ぶべきだと思う
readとかReadFileのことね
上下前次1-新書関写板覧索設栞歴
あと 350 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.046s