[過去ログ] C++相談室 part165 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
321: はちみつ餃子◆8X2XSCHEME (ワッチョイ 7b32-B3tP) 2024/04/10(水)08:39 ID:Fk7YBwaR0(1) AAS
const T t に対して const int* a が来たら
字句の順序としては T に int* が対応してるように見えちゃうもんな……。
322: (ワッチョイ c37a-hAMa) 2024/04/11(木)21:42 ID:0cjrPM+u0(1) AAS
317です、返信遅くなってすみません
確かに言われてみればconstが修飾してるのはint*なので、意味的にint *constが正しいですね…
ありがとうございました
323(1): (ワッチョイ b77c-0iQt) 2024/04/14(日)14:49 ID:tTNkn9kB0(1) AAS
先月東京で標準化委員会の会議あったらしいけどなんか情報ないの?
324: (ワッチョイ ff33-m4LK) 2024/04/14(日)15:03 ID:H7y3imqp0(1) AAS
あるよ。 外部リンク:github.com
325: (ワッチョイ 7f52-9wFU) 2024/04/16(火)00:50 ID:38VQ+8UT0(1) AAS
>>323
外部リンク:www.reddit.com
326(1): (ワッチョイ 67b1-Jq5A) 2024/05/01(水)21:36 ID:/DCu7vsT0(1) AAS
python みたいに何でも格納できる辞書型ってC++には無いよね?
327: はちみつ餃子◆8X2XSCHEME (ワッチョイ 8732-nVjz) 2024/05/01(水)22:29 ID:IV4TsWNk0(1) AAS
>>326
要素を std::any にすればだいたいどんな型の値でも入れられる。
いろんな型を入れたところで使うときには元の型として取り出さないといけないから
処理は煩雑になってあまり良いことはないけど。
328: (ワッチョイ 8f7c-Y/5H) 2024/05/09(木)20:23 ID:MzADiHDk0(1) AAS
外部リンク[html]:cpprefjp.github.io
#elifって今まで非標準だったのかよ…
329: (ワッチョイ bed6-w0ma) 2024/05/09(木)21:19 ID:M6C6+6vz0(1) AAS
何いってんだ
330: (ワッチョイ bbda-JG92) 2024/05/10(金)11:53 ID:P+BretyD0(1) AAS
#elifは大昔からあるぞ
331: (ワッチョイ 8f7c-Y/5H) 2024/05/11(土)09:12 ID:YR9R4Y390(1) AAS
cpprefjpが間違ってるだけ?
それともずっと規格から欠落してたけど誰も気付いてなかったパターン?
332: (ワッチョイ bed6-w0ma) 2024/05/11(土)11:19 ID:PrWZroBw0(1) AAS
規格が読めないならC++やめろ
333: (ワッチョイ 0b63-IWIS) 2024/05/11(土)19:02 ID:RotYKdRC0(1) AAS
elifを逆から読んだらfile
ラリーはこれを嫌ってPerlではelsifにした(適当
334: (ワッチョイ bbda-JG92) 2024/05/11(土)22:20 ID:HBPowvO20(1) AAS
シェルが変だからな
case ~ esac
if ~ fi
335: 警備員[Lv.23] (ワッチョイ 1563-WQ8n) 2024/06/06(木)07:08 ID:Glzej5210(1/3) AAS
てst
336(1): 警備員[Lv.23] (ワッチョイ 1563-WQ8n) 2024/06/06(木)07:55 ID:Glzej5210(2/3) AAS
質問なのですが
Q1. std::fstreamでファイルを開くときのフラグの指定の仕方は次のどれが正義?
std::fstream ofs("foo.txt", std::ios::out | std::ios::binary); // (1)
std::fstream ofs("foo.txt", std::basic_ios::out | std::basic_ios::binary); // (2)
std::fstream ofs("foo.txt", std::fstream::out | std::fstream::binary); // (3)
337(1): (ブーイモ MMde-FHn0) 2024/06/06(木)15:53 ID:Vp529NVwM(1) AAS
フル手書き前提がくそださい
338: (ワッチョイ fe2c-7W3t) 2024/06/06(木)19:13 ID:FMMlTunO0(1) AAS
fstreamなんだったらfstreamのメンバで書くのがいいんじゃない
339: 警備員[Lv.23] (ワッチョイ 1563-WQ8n) 2024/06/06(木)23:36 ID:Glzej5210(3/3) AAS
(1)は#include <ios>が要るし、
(2)は「basic_」の6文字×フラグの数 だけ長いし、
(3)も同様でありなおかつ>>337に従ったとき
use binary = std::fstream::binary;
use ibinary = std::ifstream::binary;
use obinary = std::ofstream::binary;
となってしまい、
省3
340: (ワッチョイ d68d-vvKF) 2024/06/06(木)23:54 ID:7ZzCG2hU0(1) AAS
iostreamはまあしゃーない…
341: (ワッチョイ a97c-3xqL) 2024/06/07(金)02:20 ID:GhXFHGen0(1) AAS
C++の悪評の4割くらいはiostreamのせいだからな
342(2): (ワッチョイ a944-l7CW) 2024/06/07(金)04:24 ID:qf+nnTv50(1) AAS
ここでCmakeとNinjaについて聞くのダメ?
どーも関係がよくわからなくて?
343: はちみつ餃子◆8X2XSCHEME (ワッチョイ a932-zlCG) 2024/06/07(金)05:26 ID:zM43Xr/H0(1/2) AAS
>>342
そういう雑多な話題のちょうどよいスレは見当たらんし、単発で終わる質問程度なら許容されると思うが……。
質問の内容が漠然としているなら丁寧な回答は得られないと思う。
「よくわからない」という状況になるときってのは大抵の場合に関連する前提知識が足りてないので
質問が連鎖的に発生してダラダラ続いたりするから。
344(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ a932-zlCG) 2024/06/07(金)05:36 ID:zM43Xr/H0(2/2) AAS
>>336
第四の選択肢
std::fstream ofs("foo.txt", ofs.out | ofs.binary);
345: (ワッチョイ fee5-FHn0) 2024/06/07(金)13:37 ID:kav19u0f0(1) AAS
copilotで補完でok
346: (ワッチョイ 6af0-AYul) 2024/06/07(金)17:07 ID:NFmVQMC40(1) AAS
バカの解決策
347: (ブーイモ MMea-FHn0) 2024/06/07(金)21:12 ID:70o6R+hDM(1) AAS
また時代に取り残されるじじい
348: (ワッチョイ 1563-WQ8n) 2024/06/07(金)21:48 ID:ORLoeNdF0(1) AAS
>>344
ofsのスコープの隙間を突きなおかつ静的メンバをドット演算子で参照する等
テクニカルですばらっし
349: (ワッチョイ fee5-FHn0) 2024/06/08(土)01:03 ID:k3Jnk/Aj0(1) AAS
静的解析で文句言われる可能性あるからやめときな
頻発するならスニペット作ればいいだけ
そういう表面的なことにこだわる奴は三流
350: (ワッチョイ f344-7AaF) 2024/06/09(日)04:26 ID:RJYm8+UN0(1/5) AAS
lldb v14.0.0 で正しくプロセスを実行できません
apt insrall でインストールしたもので, 環境はwsl 1 です
具体的には下のサイトのIssue Encountered:と全く同じ症状です
外部リンク:stackoverflow.com
改めて書きますと Hello World 表示だけのソースを clang でコンパイルし,
lldb で読み込み run させると
Process 20784 launched: '/home/Hustler/c++/move/move' (x86_64)
省5
351: (ワッチョイ f344-7AaF) 2024/06/09(日)05:11 ID:RJYm8+UN0(2/5) AAS
今やってみたのですが
lldb-14をuninstall(remove)し lldb-15をインストールしてみましたが
状況は改善しませんでした
352(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ f332-Oh5j) 2024/06/09(日)15:07 ID:bthWHIYm0(1/2) AAS
WSL1 は (ある程度) Linux 互換のシステムコールを windows 内に実装することで実現していて Linux カーネルそのものではないので色々と不足がある。
(そのかわり Windows と親和性がある部分もある。)
WSL1 で用意してない Linux の機能に依存したアプリケーションは動かない。
まともな互換性が必要ならWSL2 を使いなさいという話なので手間をかけて WSL1 を積極的にはサポートしないと思う。
353: (ワッチョイ f344-7AaF) 2024/06/09(日)20:56 ID:RJYm8+UN0(3/5) AAS
>>352
wsl2 ではlldbは問題なく動いてるんですか?
古いCPUなのでwsl2がインスコできないもんで
上のサイトはwslのバージョンは書いてなかったようですし
354(1): (ワッチョイ 6363-vt9G) 2024/06/09(日)21:14 ID:VES2dE5O0(1) AAS
WSLはlldbが使うシステムコールが足りてないって昔から言われていたかと
ターゲット機を別にするとかWSL2にするとかじゃね?
355(1): (ワッチョイ f344-7AaF) 2024/06/09(日)21:36 ID:RJYm8+UN0(4/5) AAS
>>354
>WSLはlldbが使うシステムコールが足りてないって昔から言われていたかと
なるほどTHXです
clang使ってなかったので全然わかりませんでした
動かないlldbもさんざんggったんだけど system call未実装にはたどり着けませんでした
ようやくすっきりしました
356: はちみつ餃子◆8X2XSCHEME (ワッチョイ f332-Oh5j) 2024/06/09(日)22:04 ID:bthWHIYm0(2/2) AAS
ざっとググってみた感じたと wsl1 では procfs が提供する情報が少ないのが lldb が動かない直接の原因みたいな数年前の情報は見つかる。
内部構造がまるで違うはずなのに表面的なインターフェースは互換にするなんてのは無理のある話なので互換性が「ある程度」にとどまるのは仕方ない。
357: (ワッチョイ f344-7AaF) 2024/06/09(日)22:18 ID:RJYm8+UN0(5/5) AAS
んー
clangちょっと調べたかったんで
Visual Studioにclangインスコして調べますわ
できるならwslでやるのが手っ取り早いんですが
Q9550とQ9550sしか持ってないもんで
以来CPUの爆値上がりと最近の円の爆下がりで新しく組めてないんですわ
ダイサイズ変わらないのにCPU 3万ー> 10万とか購買意欲が萎える
358: (ブーイモ MM1f-vt9G) 2024/06/10(月)18:15 ID:bkv2YMA2M(1) AAS
>>355
github のwslのissueを漁れば出て来るかと。
結論がWSL2使えだったかと
359: 350 (ワッチョイ f344-7AaF) 2024/06/10(月)21:38 ID:gvR5xwnw0(1) AAS
自己レスです
その後 Visual Studioのインストールオプションでclangを選択し
正しく動作することは確認したのですが...
今や誰でもロハで使えるインテルコンパイラがとっくの昔にllvm化されてたんですね
clangに拘りがなければ x86/x64のwin/linux/wsl は素直にopenAPI使っとくのが幸せかも.
ちなみにwsl 1にlinux版をインストールしましたが
コンパイラicxもデバッガgdb-opwnapiも何の問題もなく動いてます(今のところは)
省6
360: 350 (ワッチョイ f344-7AaF) 2024/06/11(火)06:20 ID:Ip4/j3Hv0(1) AAS
☓ openAPI
◯ oneAPI
361: あぼーん [あぼーん] AAS
あぼーん
362: あぼーん [あぼーん] AAS
あぼーん
363: (ワッチョイ 43d7-pk1M) 2024/07/13(土)19:06 ID:Dtkl2SPB0(1) AAS
若者のBoost離れ
364: (ワッチョイ 0501-twcF) 2024/07/13(土)19:56 ID:vwgbCsGD0(1) AAS
と言いますと?
365: (ワッチョイ f5f9-pk1M) 2024/07/13(土)21:42 ID:Rh1MnFN10(1/2) AAS
VS17.10.xでBoostがビルドできなくなってるのに
誰も触れない
366: (ワッチョイ f5f9-pk1M) 2024/07/13(土)21:47 ID:Rh1MnFN10(2/2) AAS
MSVC143から144に変わったせいでビルドできないらしいですよ
367: (ワッチョイ e91c-hIhh) 2024/07/16(火)12:22 ID:gS8T2k/f0(1) AAS
>>342
CMakeとNinjaはC++の話題なのでOKです
368(1): (ワッチョイ 4901-V77j) 2024/07/27(土)17:57 ID:KDd62vAV0(1) AAS
C++、
型の指定が、めんどい
速いぐらいしか、利点ないよな
369: (ワッチョイ 7b95-4q6c) 2024/07/27(土)20:53 ID:eNksZtKQ0(1) AAS
顧客目線に立てない三流の感想
370(1): (ワッチョイ 4901-7phL) 2024/07/27(土)21:03 ID:zOSUCWw50(1) AAS
>>368
auto使えば?
371: (ワッチョイ 1379-xel+) 2024/07/27(土)23:40 ID:iHlVB6Tw0(1) AAS
ランタイムに依存しない(し難い)のが最大の利点だろうに
さらに大抵のアーキテクチャには用意されてるからクロスプラットフォームの観点でもなんだかんだ最強なんだよ
むしろ最近はChatGPTが他の言語で書いたやつまで適当に書き直してくれるのもあって最強度がより高まってきてると感じるね
372: (ワッチョイ 8e95-N8l3) 2024/07/28(日)00:00 ID:ePI6t8jD0(1) AAS
全く同意できんな
むしろ環境依存上等で使うのがC/C++だろ
パッケージシステムも標準がないしビルド環境もばらばら
どこが最強やねん
標準ライブラリで完結するようなしょぼいプログラムなら他の言語使ったほうが楽
373: (ワッチョイ bdf0-+IYp) 2024/07/28(日)00:11 ID:4HqkcgMt0(1) AAS
型の指定のサンプル
GetProcAddressに変換をかけるマクロ
#define ENTRY_INTERFACE(api) api = (decltype(api)) GetProcAddress(hInst,"_INTERFACE_"#api)
ね?簡単でしょ?
374(1): (ワッチョイ 5d01-viEi) 2024/07/28(日)12:00 ID:x9q80Pnt0(1) AAS
>>370
auto
オートね
(いいこと聞いた
375(1): (ワッチョイ aa3e-cE1m) 2024/07/28(日)17:36 ID:9wLF96CX0(1) AAS
>>374
あとテンプレートを使ったダックタイプとかも便利。
376: (オッペケ Sr05-viEi) 2024/07/28(日)21:14 ID:roXukc4Cr(1) AAS
>>375
ふむ
実践的な(アプリを作るとか)、c++、書籍かなんか、おすすめ、ありますか?
cmake、とかの、関門もあるのだが
(githubにあがってるやつを、きっちり理解したい)
377(1): (ワッチョイ 4132-nuT0) 2024/07/29(月)08:53 ID:cQQT2a1I0(1/3) AAS
実践に入る前に言語の入門は読んだほうが良いと思う。
基礎を積まずに実践しようとするのは無謀。
378: (ワッチョイ 9a05-pVLH) 2024/07/29(月)15:25 ID:heyNGOtI0(1) AAS
なんでも、まずは改造から入るんだぜ
こうですか、うんたぶんこう
379(1): (ワッチョイ 4132-nuT0) 2024/07/29(月)19:25 ID:cQQT2a1I0(2/3) AAS
C++ には未規定がやたらたくさんあるんだ。
実際の挙動から仕様を想像しようとすると意味不明でグダグダやねん。
380: (ブーイモ MM9a-N8l3) 2024/07/29(月)20:07 ID:Nl7D5VelM(1) AAS
ネットでいくらでも勉強できるだろ
書籍なんかいらん
381: (ワッチョイ aa3e-cE1m) 2024/07/29(月)20:36 ID:9/o4+28+0(1) AAS
結局ライブラリが重要だから、作りたいアプリで流行っているライブラリの入門をやるのがいい。
作りたいアプリそのものじゃなくても、類似アプリを作るのはやる気に繋がる。
382(3): (オッペケ Sr05-viEi) 2024/07/29(月)22:02 ID:8hMQwTW/r(1) AAS
>>377
github にあがってるやつを、理解しようとして、助けになる本は、結局ない希ガス
実際、実践的なものがないので、文法理解で終わってしまうという
外部リンク:github.com
これ、再利用して、アプリを作りたいのだが
383: (ワッチョイ 4132-nuT0) 2024/07/29(月)22:18 ID:cQQT2a1I0(3/3) AAS
>>382
言いたいことがわからん。
auto すら知らんかったということは文法もまだ十分に理解してないってことだろ?
文法が分かったら読めばいいだけなんだから何の本が必要なんだ?
384: (ワッチョイ 0168-qw7+) 2024/07/29(月)23:36 ID:7XbSB18u0(1/2) AAS
>>382
立直麻雀のシミュレーターなら mjx の方がいいんじゃないかな?
マイクロソフトで麻雀 AI Suphx の開発に携わってた人が作ったシミュレーターで
動作検証も天鳳の牌譜で実施したらしい
外部リンク:github.com
他のシミュレーターだと
- libriichi (Rust製 麻雀 AI Mortal に付属 天鳳ルール準拠 AGPL)
省12
385(1): (ワッチョイ 0168-qw7+) 2024/07/29(月)23:43 ID:7XbSB18u0(2/2) AAS
>>382
書くのを忘れてた
cmajiang の元ネタ majiang-core は作者が解説本を出してる
実際買ってみたけど、やっぱりソースコードだけ読むより分かりやすい
外部リンク[html]:www.shuwasystem.co.jp
ブログでも解説されてるけど、お目当ての記事を探すのが大変だし本の方が見やすいと思った
外部リンク:blog.kobalab.net
386: (ワッチョイ bdf0-+IYp) 2024/07/30(火)12:23 ID:8UDCP+we0(1) AAS
>>379
未規定というか、C++11よりも古い規格のは、古参でないと扱いが難しいからね
そういう古い規格のものが仕事で入ってい来たりすると新人は頭悩ますかもしれんね
03~11まで結構間に空いてるしね
387: (ワッチョイ 5d01-viEi) 2024/07/30(火)23:52 ID:KT8SFJ0h0(1) AAS
>>385
はい、
すべて、既読です
make,
pybind11
とか入ってて、
デバッグビルド、わかりませんorz
388(1): (ワッチョイ 1bef-BWtz) 2024/08/04(日)06:24 ID:WlfSsbJh0(1) AAS
ラムダ式が渡された側って、キャプチャの内容をチェックしたりできないのでしょうか。
例えば以下の例で、funcA()の中でfの中のthisをチェックして挙動を変えたりとか?
そういうことをしたいなら、ラムダの引数で渡したりすべきでしょうか?
#include <iostream>
class A {
public:
void funcA(const std::function<void(int)>& f, int a) {
省14
389: はちみつ餃子◆8X2XSCHEME (ワッチョイ a932-NesV) 2024/08/04(日)10:12 ID:w7HjtqNP0(1) AAS
>>388
キャプチャした変数はラムダ式の中で使う以外の方法ではアクセスできない。
どのような方法で解決すべきかはそれをしようとする意図によるのでなんとも言えない。
390: (ワッチョイ a94a-ImVy) 2024/08/04(日)14:50 ID:ao1w9dwD0(1) AAS
それはラムダ式を使う理由とズレてるな
A側で判定が必要なものならラムダ式の引数もしくはfuncAの引数で渡すべき
A側は受け取るものを「intをひとつ受け取ってvoidを出力する関数」として抽象化してるんだから、それ以外のことは知れないし、知るべきではない
Aは渡された関数が何であろうとintを一つ渡すだけで、その詳細 (関数がどのような値や参照をキャプチャしてるのか、渡した引数がどのように使われるのか) には触れられない
ラムダ式を使うのはこのような抽象化が目的のはずだから、キャプチャした値を知りたいというのは用途から外れるかと思う
391(1): (ワッチョイ 9b72-3sGu) 2024/08/04(日)18:55 ID:knGBcNlu0(1) AAS
なんか最近自分でで適切なインターフェースを定義して使うって発想がなくなってる気がする
ひたすらありものを繋ぐだけで作り切るみたいな
392(1): (ワッチョイ c1f0-3TXu) 2024/08/04(日)19:21 ID:oxQURbTu0(1) AAS
仕組みを追求することをせずにどっかから完成した㌬をドッキングするだけの作業は情報収集力さえあれば組み込み系の作業員でもできるし己のチカラにはならんのよな
で、いろんなもの付け合わせていった結果、とんでもない容量のものが出来上がる上におまえそれメンテとかどうするんだよって方向に走ってって…あとは想像のとおりに
393: (ブーイモ MM8b-3sGu) 2024/08/04(日)19:54 ID:wSg2UiB1M(1) AAS
オブジェクト指向オワコン論からの風潮
394: (ワッチョイ 1320-cRFB) 2024/08/04(日)21:00 ID:YVKn/U480(1) AAS
なんでオワコンなの?
395(1): (ワッチョイ c1f0-3TXu) 2024/08/06(火)01:29 ID:DDRjgUjC0(1) AAS
全然関係ないよな
取って貼っ付ける行為とオブジェクト指向は
全体の概要設計を把握してメンテ出来ていれば何の問題もない
396: 青木康善 (ワッチョイ 59d4-ANSA) 2024/08/07(水)04:36 ID:S6qXQ6lv0(1) AAS
素晴らしいなあみなさん。早すぎる!C plus plusは!
397: (ワッチョイ 5347-eg/E) 2024/08/07(水)09:54 ID:+pgWMXtY0(1) AAS
JavaはCの20倍速いを知らん人か
398: (アウアウエー Sa23-LX2u) 2024/08/07(水)17:07 ID:RPpAsXPKa(1) AAS
>>391-392
チェンジニアをチェンジ
>>395
オブジェクト指向でもクラスライブラリを造る側とただ使う側では理解度に雲泥の差がある
399: 青木康善 (ワッチョイ 0bc8-ANSA) 2024/08/08(木)00:15 ID:Qfze0mfg0(1) AAS
マジっすか?Cの20倍?しかし、専門学校の先生に、青木!バカもん!プログラミング言語Cが一冊で事足りる、と言われても、高校数学でつまづいて大鬱病になったんで、問題が解けない。。。有隣堂本店さんで、リッチーの本置いているから、いつか買います!
400: (ワッチョイ 31fe-/5UW) 2024/08/08(木)04:05 ID:G3QDAupS0(1) AAS
今のANSI対応版は易しくなってると思うけどな。
不安ならアンサーブックとセットで買えば良いベ
401: (ブーイモ MM33-DGdp) 2024/08/08(木)16:07 ID:fgfi2g+JM(1) AAS
VMのオーバーヘッドがあるのに20倍って?
あるいは20倍時間が掛かる?
上下前次1-新書関写板覧索設栞歴
あと 601 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.024s