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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
81: (ワッチョイ 6f5f-u1DA) 2023/05/21(日)21:41 ID:Wy9ZySN20(1) AAS
std::for_eachと死ぬタイミング合わせようとしてるのかな
82: (スププ Sdea-3V1s) 2023/05/22(月)11:38 ID:da9WNPSud(1) AAS
do{}while(ここにblock内で宣言した変数使えるのマダ?);
83: (ラクッペペ MM86-F7IQ) 2023/05/23(火)08:13 ID:Zuh94crlM(1/2) AAS
Main でインスタンス化した、ファイル操作
クラスの設定を、別のクラスutilityの
インスタンスで使いたい時ってどうしたら
いいですか?

ファイル開いておいて、デバッグ内容を
そこに書き込みたい。
デバッグ終わったら不要になるんで、
省2
84
(1): (スップ Sd8a-Cz+X) 2023/05/23(火)08:33 ID:2zdXEqSEd(1/2) AAS
「ファイル操作クラス」ってなんのことか読み取れんが
std::osteamのことか?std::ostreamを持ってる別の仕事があるクラスか?

差し支えなければ現状のクラス定義を貼ってほしいが
85: (ラクッペペ MM86-F7IQ) 2023/05/23(火)09:15 ID:Zuh94crlM(2/2) AAS
>>84
ファイル操作を含んだ、デバッグ用に用意した
クラスです。Debugクラスとします。

Debug dbg; グローバルで‥
WWinMain(){

dbg.initial(); 色んな初期設定。
dbg.filename(debugfile) ;
省12
86: (アウアウウー Sa2f-SwK+) 2023/05/23(火)10:39 ID:X1m2WkvHa(1) AAS
Utility util(dbg);
87: (ワッチョイ defb-a+t/) 2023/05/23(火)12:30 ID:gLCisDzi0(1) AAS
関数の命名センスが短絡的やな
扇子を磨け
88: (スップ Sd8a-Cz+X) 2023/05/23(火)12:40 ID:2zdXEqSEd(2/2) AAS
std::ostreamはコピーを禁止してるから参照渡し(or ポインタ渡し)で受け取るのがいいかな

class Utility{
Debug& _debug;
public:
Utility(Debug& debug) : _debug(debug) {}
void f(){
_debug.writefile(...);
省6
89: (アウアウウー Sa2f-k5Su) 2023/05/23(火)13:00 ID:zQ9auONPa(1) AAS
Debugをシングルトン化しておけばいいのでは。
そうすれば、utilityもMainもDebugの定義を読むだけで、お互いに無関心でいられる。
90: (スップ Sdea-9ehv) 2023/05/23(火)13:07 ID:Gn7U56ehd(1) AAS
staticおじさんになるんだよ
91: (ワッチョイ ffda-dfFb) 2023/05/23(火)13:19 ID:4jUsmOvf0(1/2) AAS
禁じ手
グローバルおじさん
92: (ワッチョイ 635f-cbOI) 2023/05/23(火)14:52 ID:HWUzxVfV0(1) AAS
#ifdef NDEBUG
#define DEBUG_PUTLN(line)
#else
#define DEBUG_PUTLN(line) dbg.writefile(line)
#endif
93: (ワッチョイ 5f7c-aV//) 2023/05/23(火)20:11 ID:QG1lXeie0(1) AAS
シングルトンって実質はグローバル変数そのものなんだけどな
94: (ワッチョイ dbd4-3DEL) 2023/05/23(火)20:33 ID:H3Kl0Etq0(1) AAS
クラス定義がそもそもグローバルだからな
95: (ワッチョイ ffda-dfFb) 2023/05/23(火)23:59 ID:4jUsmOvf0(2/2) AAS
int i をグローバル変数にしてたおじさん居たな
理由聞いたら書くの面倒だからとか
96: (アウアウウー Sa2f-pkzb) 2023/05/24(水)01:56 ID:EzFDCa2Ya(1) AAS
全部シングルトンおじさんとglobalおじさんは一人でもいると周りがめっちゃ迷惑やな
97: (ワンミングク MM3a-F7IQ) 2023/05/24(水)14:31 ID:VF8oVK+zM(1/2) AAS
ありがとう。
やっばり、Utility の中にも色々書く必要あり
ですね。
デバッグのためだけにUtility2 3 4全部直すのも
と思ってたけど、諦めて頑張ります。
98: (ワンミングク MM3a-F7IQ) 2023/05/24(水)14:34 ID:VF8oVK+zM(2/2) AAS
external でインスタンス渡して、
global.h さんだけincludeしてできないかなと、
甘く考えてた時もありました。
99: (ワッチョイ 0705-vBUL) 2023/05/24(水)23:58 ID:lCJuR93r0(1) AAS
世界で1つのint iをブンブン回してるのクソワロタ
100: (アウアウエー Sac2-cyLm) 2023/05/25(木)00:06 ID:1obgfOJTa(1) AAS
ループ内でサブルーチンとか呼んだときどうするんだろう・・・
101
(2): (ワッチョイ 1b02-XPFS) 2023/05/25(木)00:18 ID:8bGOXla20(1) AAS
std::u16string_view stringView (string);
stringView = {stringView.data () + 1, stringView.size () - 1};

これの2行目はどういう意味なんでしょうか?何かの文法のような気がするのですが、調べ切れていません・・・。
102: (ワッチョイ aa28-ff77) 2023/05/25(木)00:55 ID:NKFrr9+j0(1) AAS
グローバルなオブジェクトのコンストラクタの中からprintf()とかのC言語の標準ライブラリ機能が呼べるのはワカルが
coutとかのC++の標準ライブラリ機能は安全に呼べることは保証されるの?
103: (ワッチョイ 5f7c-aV//) 2023/05/25(木)01:41 ID:WiPfB6bJ0(1) AAS
される
規格上はstdに含まれる値(オブジェクト)はユーザーコードで参照されたら(特別の規定がない限り)常に有効でなければならない
104: (ワッチョイ 4aa5-owa4) 2023/05/25(木)08:37 ID:2LyQ/gAw0(1) AAS
>>101
rangesのviewだろ
105
(2): はちみつ餃子◆8X2XSCHEME (ワッチョイ cb3e-FIIW) 2023/05/25(木)09:32 ID:G3dlC7U30(1/2) AAS
>>101
> stringView = {stringView.data () + 1, stringView.size () - 1};

↑これは↓こう書いた場合と同じ。

stringView = std::u16string_view(stringView.data () + 1, stringView.size () - 1);
106
(1): (スップ Sdea-9ehv) 2023/05/25(木)11:13 ID:vvIauVZOd(1) AAS
>>105
一見意味不明何だけど何て記法?
107: (ワッチョイ 0705-vBUL) 2023/05/25(木)11:49 ID:tfjCiJA40(1/2) AAS
勉強中なんだけど、クラスの相互参照って気持ち悪い
108: (ワッチョイ 0705-vBUL) 2023/05/25(木)12:04 ID:tfjCiJA40(2/2) AAS
もう、慣れた
109: はちみつ餃子◆8X2XSCHEME (ワッチョイ cb3e-FIIW) 2023/05/25(木)12:08 ID:G3dlC7U30(2/2) AAS
>>106
たぶん直接的に表す用語は定義されてないと思う。

型の情報がないときは波括弧で表されたリストは initializer_list に推論されるけど
代入のときは代入演算子のオーバーロード解決時候補に関数シグネチャとして T& operator=(T&,T); が加わるので
結果としてこのとき生成される一時オブジェクトの初期化子という解釈になる。
110: (ブーイモ MMea-UgiX) 2023/05/25(木)13:19 ID:E3OVdEtKM(1) AAS
Uniform initialization 一様初期化とか統一初期化?
外部リンク[html]:cpprefjp.github.io

std::initializer_listも含んだ文法だね
std::initializer_listの方か他のコンストラクタの方になるかはけっこうルールがややこし
111: (オイコラミネオ MMeb-owa4) 2023/05/25(木)19:45 ID:bX845kvIM(1/2) AAS
c++はその{}の中に書くとclassの中に書いた変数が順番に初期化される
いろいろ問題があるから他の言語で採用されていない

c++は実用面で利点があると判断されたのかそのまんま
112: (オイコラミネオ MMeb-owa4) 2023/05/25(木)19:47 ID:bX845kvIM(2/2) AAS
Brace initialization
外部リンク:learn.microsoft.com
113
(2): (ワッチョイ 1b02-XPFS) 2023/05/26(金)06:48 ID:kRDoXd150(1) AAS
>>105
ありがとうございます。
DTMのプラグイン(VST3)を作ってみたくて、それにはC++をある程度分かってないといけないそうなので、
参考書読んだりしているのですが、これれまでC++に全く触れてこなかったので、かなり面食らってます・・・。
サンプルのソースを見ても、いろいろな応用が含まれていて、前提となる知識がそれなりにないと分からないのかなと・・・。
114: はちみつ餃子◆8X2XSCHEME (ワッチョイ cb3e-FIIW) 2023/05/26(金)10:03 ID:qewSmBpu0(1/2) AAS
>>113
C++ の仕様には未定義がたくさんあるので実際に動作させた結果から学ぶべきではないという事情がある。
ある程度は理屈で理解しておかないと簡単に破綻するよ。
実例を見ながら雰囲気で使うってのは出来ない言語だと思う。
115: (ワッチョイ 67c9-HmrL) 2023/05/26(金)10:55 ID:Yaiov3bU0(1) AAS
しらない間に未定義踏んでて、コンパイラ変わったりしたときに挙動が変わるやつ
116
(1): (ササクッテロラ Sp03-OHH9) 2023/05/26(金)11:28 ID:VVS6yE6rp(1) AAS
>ある程度は理屈で理解しておかないと
に対しての
>実際に動作させた結果から学ぶべきではない

極端じゃね?
117: (ワッチョイ 5f9c-uVPi) 2023/05/26(金)11:37 ID:jtoHc2Cr0(1) AAS
>>113
chatgptにサンプルコードを解説させたら?
118: はちみつ餃子◆8X2XSCHEME (ワッチョイ cb3e-FIIW) 2023/05/26(金)13:02 ID:qewSmBpu0(2/2) AAS
>>116
「ちゃんとした資料を読まずに動作から何かを読み取ろうとするな」という話なので、
資料を読んだうえで手を動かして確認することまで否定してるわけじゃないよ。
少なくとも初手は入門書くらい読まんといかんという程度のことを言ってる。
119: (スッップ Sdea-Q5bc) 2023/05/26(金)21:10 ID:u5i01UPgd(1) AAS
解脱させたらに見えたし
120
(1): (ワッチョイ 5f7c-aV//) 2023/05/26(金)21:19 ID:cuJor+ml0(1) AAS
「ワイのコードではこう動いてるからいいの!」「ワイが試したらこう動いたからこうなの!」
で突っ走った結果大爆発する事例が後を絶たない
121
(1): (スプッッ Sd13-Cz+X) 2023/05/26(金)21:27 ID:TE50P/kBd(1) AAS
未定義まで行かなくても処理系依存とか未規定動作もあるからほんとにややこしい
知らず知らずのうちにコンパイラの拡張機能使ってたりもあるし

「動けばいいんだよ!」としか考えてないとどこで足元掬われるかわからん
122: (アウアウウー Sa2f-+waq) 2023/05/26(金)22:54 ID:C+URTl/Qa(1) AAS
んちんちんちんちんちんち
123: (ワッチョイ cb01-OHH9) 2023/05/26(金)23:25 ID:Rw5xxtFh0(1) AAS
>>120-121
そんな低レベルな奴見たことないけどな
居るには居るんだろうけど

あと逆にそういうのを「手を動かさない」「実用コードで試しもせずに机上の空論でマウント取る」ことの言い訳にしてる奴を最近よく見かけるのでな
124
(1): (オイコラミネオ MMeb-owa4) 2023/05/26(金)23:42 ID:mzi7SNrwM(1) AAS
実際VS2005ぐらいに演算の順番が決まってなくて実装依存だった
それでコードを書いてた
それがVS2007には演算順序が2005と変わってた
GCCでも別の順で計算された

どうしたらいいかわからんから多分ここに聞きにきたら未定義動作だからどうしようもない
実装依存で仕方がないと返答あり
125: (ワッチョイ 4b01-nxBO) 2023/05/27(土)00:10 ID:U8Vd2x100(1) AAS
自分もVCから別環境のclangに数万行のコード移したら未定義踏んでた部分あるけど、試さずにそれを最初から予知出来てたかというと無理がある
どちらかのコンパイラのバグで通らなかったりおかしな動作する場合もあるんだし(特にテンプレート周りは多い)
書いてる最中でも疑問に思ったらすぐ調べる癖がついてりゃいいんじゃないかな
126
(1): (ワッチョイ 6b5f-S+HU) 2023/05/27(土)00:12 ID:ne0x12BC0(1) AAS
>>124 いや、文を分けて順序付けするなり、やりようはあっただろ。
127: (オイコラミネオ MM4f-/RYi) 2023/05/27(土)00:24 ID:bsq21T/IM(1) AAS
>>126
上にも書かれてるけど既存のコードのどこで問題が発生してるか全てを特定できないんだよ
128: 蟻人間◆T6xkBnTXz7B0 (スフッ Sdbf-JQ4Y) 2023/05/27(土)00:41 ID:LEdjjvJrd(1) AAS
最近のVisual C++なら「コード分析」機能でコードの改良点を教えてくれるかも知れない。
129
(1): (ワッチョイ 3bda-DntA) 2023/05/27(土)00:45 ID:JrAUAXG20(1) AAS
AIが他人が書いたクソコードのリファクタリングやってくれると助かるな
130: (アウアウウー Sa8f-BLq/) 2023/05/27(土)01:23 ID:D5N3c6HOa(1) AAS
超すごい!人間を越えた!とかワイワイさわがしいAIだが
実際にそういう感じの「マジに困ってる、やってくれたら本気で助かる」
ような事案は結局できない、という地獄
131: (ワッチョイ 0bb5-jMfM) 2023/05/27(土)04:58 ID:wRHxWgs90(1) AAS
言われたとおりやるだけ、なやつの極端な例だからな
132: (ワッチョイ 3bf0-TYVD) 2023/05/27(土)08:03 ID:hUTpNjv00(1) AAS
AIが人間並みの知性を持てば人間並みにエンバグしてくれるはず
133: (アウアウウー Sa8f-BLq/) 2023/05/27(土)08:08 ID:ap1zYrbma(1) AAS
すごい!まさに人間そのもののAIじゃないか!
134: (ワッチョイ 6b5f-r/x3) 2023/05/29(月)16:30 ID:AteM0zCG0(1) AAS
責任転嫁するようになるまで人間に並んだとは認めない
135: (ワッチョイ 0b6e-jMfM) 2023/05/29(月)17:54 ID:I9NccWA+0(1/2) AAS
会社で嫌われるイヤな奴の特徴を全てプログラミングされたAIとか?
136: (ワッチョイ 4bc0-3xLk) 2023/05/29(月)18:33 ID:IrTtCTAo0(1) AAS
AIに相談したせいで鬱になって辞める社員が続出しそうだな
AIポイゾニングは新手のリモート攻撃として流行るかもね
137: (ワッチョイ 0b6e-jMfM) 2023/05/29(月)20:15 ID:I9NccWA+0(2/2) AAS
ヘイテトリスみたいな社員AI
138
(1): (ワッチョイ 0128-w4Nq) 2023/06/04(日)08:29 ID:5jvZ+YKl0(1/3) AAS
質問ですがstd::stringに格納された数値文字列を数値にしたい、
しかし数値以外の文字(ただし空白文字は認める)が後ろにくっついていたらエラーにしたい、と言う場合どうす
れば良いの?
ダチャい書き方ならできうるけど人類はいつまでstrtod()や&(str[0])……
std::string str;
str ← なんか文字列入る
char* end;
省6
139: (ワッチョイ 61f0-7HAn) 2023/06/04(日)08:38 ID:Wo5LOckB0(1) AAS
>>138 まず、こちらへ
0からの、超初心者C++相談室
2chスレ:tech
140: (ワッチョイ 0128-w4Nq) 2023/06/04(日)09:23 ID:5jvZ+YKl0(2/3) AAS
誘導されたので誘導先に建てたはサーセン、
141: (オイコラミネオ MMe9-N/Lw) 2023/06/04(日)11:01 ID:/SPLhkOjM(1) AAS
文字列(char配列)とstringの仕組みはダサいけど他も大体これ
さらにspanもいれる
どこも大体同じ
142
(1): (ワッチョイ edf0-+LPJ) 2023/06/04(日)18:06 ID:HhL1J/ge0(1) AAS
しかしstodの「文字列が数値で始まる場合、数値化不可能な文字があっても例外は投げずに数値化出来るところまでの部分で数値化する」ってむしろ不便だよな。
143: (ワッチョイ eefb-dBHf) 2023/06/04(日)18:43 ID:XolxJINE0(1/6) AAS
charに変換して文字コード比較して範囲内外で変換分ける処理がシンプルじゃね
144: (ワッチョイ eefb-dBHf) 2023/06/04(日)18:44 ID:XolxJINE0(2/6) AAS
速度気になるなら二分探索の処理に追加してやればいいし
145: (ワッチョイ eefb-dBHf) 2023/06/04(日)18:45 ID:XolxJINE0(3/6) AAS
再帰処理でやってもいいかな
146: (ワッチョイ eefb-dBHf) 2023/06/04(日)18:45 ID:XolxJINE0(4/6) AAS
順序保証したいならリンクリストもありか
147: (ワッチョイ eefb-dBHf) 2023/06/04(日)18:46 ID:XolxJINE0(5/6) AAS
ちんこ痒い
148: (ワッチョイ a101-tVFH) 2023/06/04(日)18:58 ID:ym4W3arT0(1) AAS
リンクトリストな
149: (ワッチョイ eefb-dBHf) 2023/06/04(日)19:08 ID:XolxJINE0(6/6) AAS
内挿探索でも良さそう
150: (ワッチョイ a236-OEcF) 2023/06/04(日)20:01 ID:0KyMklrL0(1) AAS
STLへの多重配列クラス追加まだ?
151
(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ c23e-N/Lw) 2023/06/04(日)22:37 ID:MHoxWKtY0(1/2) AAS
>>142
トークナイズするときに便利。
文字列が数値表現だけになっている状態を扱うことってそんなになくない?
なんらかの文字列から取り出す操作になることは多いし、
それを前提として考えたら自然な設計だと思う。
152
(1): (ワッチョイ 0128-w4Nq) 2023/06/04(日)22:54 ID:5jvZ+YKl0(3/3) AAS
>>151
>なんらかの文字列から取り出す操作になることは多いし、
まさにそれやが
std::stod()ではどこまで読んだのかわからないから取り出せない……
153: はちみつ餃子◆8X2XSCHEME (ワッチョイ c23e-N/Lw) 2023/06/04(日)23:07 ID:MHoxWKtY0(2/2) AAS
>>152
わかるが。
154
(1): (ワッチョイ 8d7c-vcK2) 2023/06/04(日)23:16 ID:bxWaSYac0(1) AAS
仕様も確認できない奴が仕様に文句付けるとかお笑いだわ
155: (ワッチョイ b901-1DxI) 2023/06/04(日)23:21 ID:QWRuQk/m0(1) AAS
勉強になるなぁ
boost::lexical_cast
ばっか使ってきた
156: (ワッチョイ 0128-w4Nq) 2023/06/05(月)01:56 ID:yTJt/rkc0(1/4) AAS
>>154
仕様を確認して文句つけているのだから無問題
157: (ワッチョイ 0128-w4Nq) 2023/06/05(月)02:01 ID:yTJt/rkc0(2/4) AAS
つか自分のスキルに合わせて仕様を変えてしまう香具師よりはマシ
158: (ワッチョイ 0128-w4Nq) 2023/06/05(月)02:39 ID:yTJt/rkc0(3/4) AAS
つか初心者スレで今教えてもらったわサーセン;;;
std::stod()の第2引数でどこまで読んだのかわかるのかそうか、、、
159: (アウアウウー Sac5-Rr/m) 2023/06/05(月)09:40 ID:ejs/048Ga(1) AAS
1e-3
0.4E+5

どうせ . とか + とか - とか e とか E が数字の後ろに来たらエラーにする糞オレオレ関数の出来上がり
160: (アウアウウー Sac5-+LPJ) 2023/06/05(月)18:46 ID:QlKvcf+ua(1) AAS
fortran爺が1e-3を1-3と書いて送ってくるの辛い
161: (ワッチョイ 0128-w4Nq) 2023/06/05(月)22:24 ID:yTJt/rkc0(4/4) AAS
charやwchar_tのうちは文字数くれたら別段間違うことは無いはず……
1-
あと 841 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.025s