[過去ログ] C++相談室 part157 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
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のことね
653: 2021/10/17(日)11:30 ID:Rn6uB4uI(4/4) AAS
>>652
バッファリングを自力で実装するんか……
デバイスドライバ側である程度何とかしてくれるケースもあるかもしれんが
654: 2021/10/17(日)11:30 ID:0m7FLjXf(1/4) AAS
>>652
ええ…
655: 2021/10/17(日)11:47 ID:XrR+wpGu(2/7) AAS
真理情報:fgets()はUTF-16やUTF-32のテキストファイルを正しく読み込めない
656
(1): 2021/10/17(日)12:13 ID:0m7FLjXf(2/4) AAS
ワイド文字用の関数は使っちゃだめということ?
まあ使い方よくわからんけど
657: 2021/10/17(日)12:16 ID:XrR+wpGu(3/7) AAS
HTMLなりXMLなりJSONなりそれぞれパーサーがすでにあるのだからその恩恵を享受するのがナウなヤングの取るべき道でしょ
658
(2): 2021/10/17(日)12:21 ID:4Zt4uwKf(3/5) AAS
>>652
俺ならCreateFileMappingを使う

fgetsなんて頭の更新が止まった昭和時代の化石のうちでも地頭までひどいやつの使うものだな
659: 2021/10/17(日)12:21 ID:cds0CTiX(2/3) AAS
>>656
ワイド文字は環境によってUTF16だったりUTF32だったりで仕様が定まらないので使いにくい
660
(1): 2021/10/17(日)12:22 ID:XyIQiUpb(3/5) AAS
>>658のような勝手にmmap使っちゃうようなのがいるとバグだらけになるよ
661
(1): 2021/10/17(日)12:24 ID:XrR+wpGu(4/7) AAS
Java、Python、Ruby、Javscriptなどの他言語にファイル読込み処理を移植する徒労を考えないバカが集うスレはここですね
662: 2021/10/17(日)12:25 ID:jNwhUFcS(1) AAS
>>ID:NekA8urB の丸投げ君、己の課題であることを伏せて、お題スレに出題!
663: 2021/10/17(日)12:27 ID:MD8jEcOV(1) AAS
ここまでifstreamの話なし
664: 2021/10/17(日)12:28 ID:PatMwtBc(1) AAS
組み込みに近いところいると、大抵自炊に近い状態になるわ。
たとえばiostreamコンパイル通るやん、ってリンカがフラッシュ容量超えを宣告しやがる(フラッシュが640KiBもある豪華マイコンやで)。
上の方でrandom_deviceカスタマイズするの簡単にでけんやん、とか。ハード乱数なんて別にクラスに押し込んでも意味薄だけど。
665: 2021/10/17(日)12:29 ID:4Zt4uwKf(4/5) AAS
>>661
他言語に移植するかどうかはおまえさんが決めることじゃないよ
プログラム技術板で下品な言葉に頼るのは低脳の証明だぜ
666
(1): 2021/10/17(日)12:29 ID:XyIQiUpb(4/5) AAS
C++の標準ライブラリを使用しない前提でファイル読み込みを考えるならOS固有の関数を呼ぶべきって言ってるだけだよ
C++の標準ライブラリを使用しないでCの標準ライブラリ呼ぶには何か正当な理由がいると思う
667: 2021/10/17(日)12:35 ID:QqhGhKAl(1/3) AAS
標準ライブラリのストリームは遅延評価やらなんやら余計な思惑が付いてるのでとにかく重い。
668
(1): 2021/10/17(日)12:36 ID:Bq9qBgnd(1) AAS
>>666
<cstdio>はC++標準ライブラリの一部だよ
669: 2021/10/17(日)12:36 ID:0m7FLjXf(3/4) AAS
readもfreadもposixじゃろうよ
変わらんよ
670
(2): 2021/10/17(日)12:37 ID:QqhGhKAl(2/3) AAS
APIならサクサク快適。
1Gbps/s出る。
標準ライブラリは500Mbps/sくらいしかでない。
671: 2021/10/17(日)12:39 ID:0m7FLjXf(4/4) AAS
>>670
なんだよapiって
672: 2021/10/17(日)12:41 ID:XrR+wpGu(5/7) AAS
システムコールと言いたかったんだろうよ。察して差しあげろ
673
(1): 2021/10/17(日)12:41 ID:XyIQiUpb(5/5) AAS
>>668
C++からCの標準ライブラリを呼ぶならこちらを使えという意味

>>670
そういうのは具体的な根拠の提示が必要
674: 2021/10/17(日)12:45 ID:QqhGhKAl(3/3) AAS
>>673
俺は見たんだ。
675: 2021/10/17(日)13:12 ID:4Zt4uwKf(5/5) AAS
>>660
mmap+おまえさん→バグ
という化学反応みたいなもんか
676
(1): 2021/10/17(日)13:26 ID:GKP6XQtx(1/3) AAS
fgetsはバイトを扱うのか文字を扱うのか分かりにくいよね
Javaはバイトを読むInputStreamと文字を読むReaderに分かれてる
ファイルは当然文字だからInputStream、上位のReaderで文字コードや改行コードを加味する

Cはバイトも文字もchar[ ]で扱うからAPIもバイト扱い・文字扱いが混在してる
fgetsは改行コードで区切るからバイトではなく文字を扱う関数のように思えるけど、実際は文字コードなどは考慮されないのでバイト読み取り程度にしか使えないしワイドキャラクタも扱えない
中途半端だと思う
677: 2021/10/17(日)13:26 ID:GKP6XQtx(2/3) AAS
ファイルは当然文字
678: 2021/10/17(日)13:27 ID:GKP6XQtx(3/3) AAS
じゃなくて
ファイルは当然バイトね ごめん、、
679: 2021/10/17(日)13:44 ID:mjSP52s5(1) AAS
>>676
時代背景も考えずに中途半端とか言われても…
680: 2021/10/17(日)13:48 ID:cds0CTiX(3/3) AAS
まぁ、欧米の毛唐どもにもようやく必要性が理解できたchar8_tの導入が進めば文字コードはutf8に統一されていくとは思うけど、
utf8はutf8で冗長コードの問題があるからな…その辺のルールも統一しとかないとバグが量産されることになるな
681: 2021/10/17(日)13:54 ID:XrR+wpGu(6/7) AAS
2021年になってもテキストファイル読み込みの話をしなければならないC++の哀しさ
682: 2021/10/17(日)13:58 ID:7C23oe5i(1) AAS
ifstream とか
#include <iostream>
とか観るとダサいなーとしか思わない
683: 2021/10/17(日)14:06 ID:XrR+wpGu(7/7) AAS
Windowsのcode pageのような列挙型と文字セット判定クラスがC++で標準化されてないとテキスト読み込み処理を標準化できないでしょ
文字セット判定クラスは既存の判定ライブラリも標準インターフェースを介して使えるように的な
684
(1): 2021/10/17(日)21:21 ID:X4C5aaqV(1) AAS
すまんもうPythonでよくね
685: ハノン ◆QZaw55cn4c 2021/10/17(日)21:41 ID:iZHfLY3S(1) AAS
>>684
せやね
686
(1): 2021/10/18(月)07:17 ID:SjUVJOBm(1/7) AAS
C++ではなくCを使うというならまだそいつなりに筋が通る可能性があるが
C++でfgetsにしがみつくのはC++のライブラリについてこれなかっただけの
無能の中の無能だ
687
(2): 2021/10/18(月)07:27 ID:guTQadjs(1/2) AAS
C++でファイル操作にcstdio(というかFILE*)を使うべきだと宣うなら
せめてその場合の例外安全性くらい論じてくれないと話にならな
688
(1): 2021/10/18(月)07:44 ID:G16mKgJ/(1/5) AAS
>>658
Create !
File !
Mapping !
なんでテキストファイルを読み込むだけのためにそんんあ牛刀(しかも移植性が乏しい)を使わねばならんのじゃ……
だいたい標準ストリーム(istream/ ostreamでも良いが)との結合はどうするんじゃ……
std::streambuf派生クラスとか自力で書くんか……

やっぱ頭にうんこ詰まってる人からはうんこしか出てきませんね……
689: 2021/10/18(月)07:47 ID:G16mKgJ/(2/5) AAS
>>686
fgets()の使用はC++についていけなくてしがみついているのではなくて、
天才の判断である
690
(1): 2021/10/18(月)07:52 ID:SjUVJOBm(2/7) AAS
>>688
あーおまえさん、あのAPIをベアで使ってるのか
ご苦労なこったな
C++使ってんのにクラス化って発想ねえのか
691
(2): 2021/10/18(月)07:56 ID:G16mKgJ/(3/5) AAS
>>687
>例外安全性くらい論じてくれないと
cstdioの仕様は突っ込んで調べてはいないがファイルの読み書きに関して
例外をスローすることがあるとしたら改悪で大層な失敗ライブラリとしか言いようが無い

ていうか例外安全というのは眉唾な概念でありまして、
40TBまでメモリを食いつぶしたら例外をスローするが
39.9999TBまでメモリを食いつぶしても何も起きないというコードは
システム全体の動作を担保できておらず設計したとは言えない
もっと定量的にプロアクティブな処置を講じるべきで、システムの正常動作を例外に依存させる設計は無い
692: 2021/10/18(月)07:57 ID:G16mKgJ/(4/5) AAS
>>690
ますますのうんこ発言ご苦労
で、標準ストリーム(istream/ ostreamでも良いが)との結合はどうするんじゃ……
693: 2021/10/18(月)08:00 ID:pufTxU/Z(1) AAS
標準じゃないとか言うから突っ込まれてるのに
694: 2021/10/18(月)08:13 ID:G16mKgJ/(5/5) AAS
この議論の中で自作クラス推しはポエミーすぐる
やっぱうんこ製造機な人は仕方が無い
695: 2021/10/18(月)08:23 ID:SjUVJOBm(3/7) AAS
>>892
おまえさん他言語への移植がどうたら言ってた?
696: 2021/10/18(月)09:00 ID:SjUVJOBm(4/7) AAS
C++でクラス作るなって
Cで関数作るなに匹敵するすげえ主張だな
最長不倒main関数とかw
697: 2021/10/18(月)10:44 ID:Qq+Ry0m8(1) AAS
Cだけやたら詳しくてクラスの仕組み知らないウン古参とか居るからな
698: 2021/10/18(月)11:01 ID:I7uU9DyP(1) AAS
MISRA-C 縛りの組み込み屋とかな
699
(1): 2021/10/18(月)11:20 ID:PPwA/bGd(1/6) AAS
C++からCにソースコードを移植せざるを得ないことがあるから、Cプログラマでもクラスやテンプレートの知識は必須でしょ
700: 2021/10/18(月)11:27 ID:CHllzYZP(1) AAS
cの場合ファイルでクラスを実現するわけだけど、その縛りがある方がきれいになるよね
701: 2021/10/18(月)11:35 ID:cow76Y8p(1) AAS
twitterでCやC++を検索したい時、検索ボックスに
(C 言語) OR cplusplus OR cpp OR @i -@i lang:ja
と入れると割りといいことが分かった。
さらに、検索ボックスの右にある「…」のボタンを押して「検索を保存」しておくと、この検索文字列が勝手に消えない。
702: 2021/10/18(月)13:03 ID:nWV7c8cM(1) AAS
::fgetsってstd::getlineに対するメリットある?
1-
あと 300 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.200s*