1 名前:デフォルトの名無しさん [2022/02/19(土) 11:56:42.14 ID:kSnJ/KwP.net] 前スレ C++相談室 part158 https://mevius.5ch.net/test/read.cgi/tech/1636969758/
331 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 11:19:01.97 ID:xzjNndYE.net] >>324 マクロに関してはそういう所は変わってない 餃子が言うようにマクロ以外の手段を使うというだけ
332 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 11:20:49.97 ID:+7QZaSxQ.net] >>321 #defineじゃないとできない/面倒なパターンが減ったという意味ならある程度はマシになってる <numeric>とか<source_location>とかconstexpr/constevalとか
333 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 11:24:50.52 ID:s9ebK7Me.net] >>321 #付いてるから、基本プリプロセッサ文だかんな
334 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 11:39:25.77 ID:42wjdHim.net] スコープ付きの#defineが欲しい時ってあるよね…w
335 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 12:09:06.26 ID:EeqSDih1.net] ねーよw
336 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 12:16:38.60 ID:WvOgTxGl.net] #define NAMESPACE namespase #define NS ns NAMESPACE NS{ void f(); } void g(){ NS::f(); } このへんのコードをプリプロセスの段階で正しく解釈するのは無理なのがね #pragma defines(push) みたいのが言語標準になればいけるか?
337 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 12:32:49.89 ID:EeqSDih1.net] 馬鹿の妄想は放置して、マクロでないと困る例 #include <iostream> #define PRINT_LOCATION() (::std::cout << __FILE__ ":" << __LINE__ << ":" << __PRETTY_FUNCTION__ << "\n") namespace hoge { void func() { PRINT_LOCATION(); } } using namespace std; using namespace hoge; int main() { PRINT_LOCATION(); func(); return 0; }
338 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 12:41:59.91 ID:xzjNndYE.net] 友達いなさそうだな
339 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 12:49:02.69 ID:EeqSDih1.net] そんなこと気になっちゃう程度の馬鹿よりは多そうだけど、多けりゃいいってもんでもないと思うぞw
340 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 13:48:09.49 ID:ftLJb++c.net] 多くの回答ありがとうございます やはり可能な限り#defineは避けた方が良さそうですね ただ#defineでもできないことや、#defineにしかできないこともあるので変に毛嫌いせず勉強を進めてこうと思います
341 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 14:03:01.00 ID:EeqSDih1.net] 例外中の例外なので、毛嫌いして全く問題なく、勉強する必要も全くないw
342 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 15:55:04.33 ID:Yx2Q2Rjy.net] Include Guard Macro以外の#defineは忘れてもいいと思う。
343 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 17:13:33.60 ID:HhKI/yF6.net] ほんそれ 一生ソロプレイかつCにしがみつくつもりなら構わないけど そうじゃないなら基本的に使わないべき遺物
344 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 20:11:29.53 ID:Zh+6zBsp.net] ほぼ同じ演算子オーバーロードを延々と書く場合とかマクロでまとめていいと思うけどね テンプレートではどうしようもないレベルのメタプログラミングの手段として未だに有効
345 名前:デフォルトの名無しさん [2022/02/28(月) 20:17:53.65 ID:xrBOKM6i.net] むしろ、他言語にマクロ展開機能がないことが不満
346 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 20:19:01.14 ID:EeqSDih1.net] そうなる仕組みもどうかと思うけど、必要悪として採用するケースが「あってもいい」という程度だよ
347 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 20:39:17.05 ID:xzjNndYE.net] >>339 だよな 復号代入とかフルで揃えようとすると 毎回同じようなコードを延々書くからな
348 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 21:11:31.61 ID:EeqSDih1.net] だよなじゃねーよw 本当にマクロでないとできないケースなのかすら怪しいw
349 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 21:21:08.91 ID:TawWBZkT.net] >>339 テンプレートでできなくてマクロならできるとかそんなにはないだろ >>340 C/C++ のマクロなんて PL/I から見たら子供騙しレベルだけどね
350 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 23:32:29.49 ID:7SSxP2tw.net] >>340 C++に一番近い言語であるRustが多様な各種マクロを充実させているので乗り換えるのもよいかもね マクロ以外にも非常に多くの問題が解決される
351 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 23:58:07.07 ID:EeqSDih1.net] ゴミのような文化を踏襲してしまった残念言語のRustさんのヘイトを上げるのはやめましょうw
352 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 00:33:34.91 ID:Sj28peWv.net] C++使ってるおれすげーみたいな
353 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 01:06:15.88 ID:PkY5rkFL.net] C++を使いこなせないから皆下流行語の修得を目指す
354 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 06:11:28.76 ID:qblu1Z+O.net] >>343 怪しいって明確に判断できねえのかよ そもそも俺そんな話してねえし
355 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 06:34:48.00 ID:MT73K7Vw.net] >>343 見てもないコードが明確に判断できたらこえーよ そんな話じゃないって何いってんのw
356 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 06:35:21.34 ID:MT73K7Vw.net] >>350 アンカー間違った。>>349 な。
357 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 07:02:46.96 ID:qblu1Z+O.net] >>350 おまえさん本当にC++使いか? operator+とoperator+=みたいのの全組み合わせがマクロ使わずにできないとでも思うのか?
358 名前:はちみつ餃子 mailto:sage [2022/03/01(火) 08:36:21.07 ID:9lt8ULa+.net] >>340 Cプリプロセッサを他言語で使ってもいいんですよ。
359 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 09:06:42.29 ID:cUOzOJ3p.net] >>340 マクロを持つ言語は多い Rustのように用途に応じてマクロが何種類もあるケースもある
360 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 10:19:23.90 ID:Hv9eImco.net] struct B{...}*bP; struct D1 : public B{...} d1; struct D2 : public B{...} d2; bP = (...)? &d1 : &d2; これって駄目なんですね
361 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 10:40:29.97 ID:MQDieCXt.net] >>355 3項演算子の引数型が互換性のないD1*,D2*だからね C#9あたりがターゲット型から3項演算子の型推測やってた気がするがC++に導入される日か来るんだろうか
362 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 11:01:53.10 ID:Hv9eImco.net] なるほど 素直にif文にしておきます
363 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 11:08:34.73 ID:cMGuQY9h.net] つ static_cast<bP>(&d#)
364 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 11:13:51.24 ID:qblu1Z+O.net] >>357 bP = (rnd() & 1)? (B*)&d1 : (B*)&d2; ではあかんのか?
365 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 11:14:23.15 ID:qblu1Z+O.net] rnd() & 1 は無視してくれw
366 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 11:14:50.30 ID:Hv9eImco.net] ああ、それでいいんですね ありがとうございます
367 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 11:54:42.57 ID:MT73K7Vw.net] 今度はCに毒されていくC++スレw プリプロセッサはincludeパス的に言語や標準ライブラリを結構意識したりしますw
368 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 23:30:51.45 ID:cUOzOJ3p.net] >>355 そういうのはRustがすっきり実現していていい感じ 静的モノモーフィングでコンパイル時に解決させる方法と 動的ディスパッチで実行時に解決させる方法の2種類を選びつつ簡単かつ安全に記述できる
369 名前:デフォルトの名無しさん mailto:sage [2022/03/02(水) 01:32:22.77 ID:/wwlA8Tq.net] なんでこんなとこにrust信者が湧いてるん?
370 名前:デフォルトの名無しさん mailto:sage [2022/03/02(水) 03:41:00.25 ID:re9dUtRi.net] C++のstatic_castで十分すっきりしてるし安全なんだがw
371 名前:デフォルトの名無しさん mailto:sage [2022/03/02(水) 03:51:26.38 ID:S8+3WyDZ.net] うむ まあRustはトレイトを導入しているためもっとフレキシブルに機能毎に事実上のキャストができる点で先に進んでる感じ
372 名前:デフォルトの名無しさん mailto:sage [2022/03/02(水) 04:16:03.37 ID:re9dUtRi.net] std::visitで十分じゃないの?
373 名前:デフォルトの名無しさん mailto:sage [2022/03/02(水) 06:05:07.28 ID:+cCq037X.net] >>364 メンタルはルビ基地と同じだから相手すんな
374 名前:デフォルトの名無しさん mailto:sage [2022/03/02(水) 08:02:10.51 ID:UQPkqsb3.net] >>364 スレ違い野郎はNG推奨
375 名前:デフォルトの名無しさん [2022/03/02(水) 10:15:53.71 ID:KGds3ROy.net] RustはUnityで作られてるんだからC#スレ行けよ
376 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 11:52:56.52 ID:YmcISO0J.net] 有名なライブラリのコード覗いて見るとC++でもマクロ結構使ってるよね
377 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 12:21:01.59 ID:aVzPtAzs.net] まあそこは女性のウェストが50cmだと思ってるスペック厨のオタクと現実に生きて実用的なものを開発してる人の違いだね
378 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 12:24:43.91 ID:adLRB/+A.net] 有名ライブラリこそマクロに頼らないとやってられんとこあるからな コンパイル環境(gcc/clang/MSVC)のスイッチとか C++バージョンのスイッチとか(#define CONSTEVAL20 consteval/constexpr) ボイラープレートの簡略化はどれぐらいやってるかは知らんが
379 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 15:14:53.11 ID:dDnSjvDO.net] 条件コンパイルには#ifdefがいるね
380 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 16:48:19.79 ID:PsZF8bq4.net] 文法ばかり勉強してコード書かないからマクロの必要性が見えないんだよ。
381 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 18:39:02.62 ID:c7Jb1Y/C.net] ああ、マクロ不要論者は自分でライブラリ書いたことないというオチか 腑に落ちたわ
382 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 19:24:38.63 ID:hTxF5AaQ.net] まともにコード書く量も質も足りない人にはマクロの弊害を認識できてないんだろうなw インクルードガードなどの条件コンパイルはプリプロセスではあるものの、一般的なマクロ置換処理ではないw
383 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 19:49:49.09 ID:l1hFvrU8.net] 本気でいってんの?このバカ
384 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 20:05:07.59 ID:hTxF5AaQ.net] 単発IDで中身のない煽りだけの人が早速出現w 臆病すぎwwww
385 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 05:56:44.52 ID:1RB3fRbG.net] > マクロ不要論者 誰? いたっけ、そんなやつ
386 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 06:37:36.91 ID:DqQFNqIa.net] >>380 >>336 あたりじゃね?
387 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 06:43:28.40 ID:1RB3fRbG.net] ああ、あのキチか 相手すると馬鹿が伝染るからやめようぜ
388 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 11:43:03.93 ID:4zB49VIz.net] まだいたのか臆病者w 答え教えてもらってもなお理解しない人に付ける薬はないよw 構ってちゃんやるなら別の板でやれ
389 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 20:47:43.90 ID:TVZZL9aI.net] コンパイル時にansiをunicodeに変換する簡単な方法あってある? 具体的にはmagic_enum::enum_namesで返ってくるstring_view配列をwchar_tとして貰いたいのだけど
390 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 20:55:24.70 ID:4zB49VIz.net] exe野郎は口を開く権利なしw ソースコードのエンコーディングを指定するか、エスケープした文字列まで正しく変換したソースを使った上で、必要なキャストをするか、プロジェクト設定を使えw
391 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 20:58:03.36 ID:nHKPE6Wj.net] MSの教えどおりにマクロ使ってれば簡単なのにな。
392 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 21:17:57.65 ID:4zB49VIz.net] そもそも言ってる内容が怪しいw ワイド文字の話とエンコーディングの話がごっちゃになってるw
393 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 21:40:05.34 ID:TVZZL9aI.net] ansiをunicodeにエンコードしたいって意味なんだけど自分でテーブルでもつくらないとconstevalには無理? それ以外に方法がないならライブラリいじることにするけど
394 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 21:47:53.46 ID:4zB49VIz.net] 動くサンプルを載せてみろw
395 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 21:55:46.03 ID:cJZvpdpU.net] ansiってなにを指すん?
396 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 21:56:54.08 ID:1RB3fRbG.net] アメリカの国内規格
397 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 22:00:02.02 ID:4zB49VIz.net] MS様のお庭ではローカルコードページくらいの意味だw
398 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 22:05:54.66 ID:TVZZL9aI.net] >>390 日本語WindowsMSVCだと"あ"はansi(shift-jis)として{ 0x82, 0xA0 }になる これをunicodeの0x3042にエンコードするって感じでconstexprに生成されたansiを変換していきたい ライブラリ内部では__FUNCSIG__等を利用して静的にenumから文字を生成してるからL#でもして端からunicodeを生成すれば良いんだけどその場合は他にも色々と変えないとダメだからそれは最終手段にしたい
399 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 22:07:55.03 ID:4zB49VIz.net] >>393 ごたくはいいから動くサンプルを載せてみろw
400 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 22:12:15.56 ID:TVZZL9aI.net] >>394 動くサンプルって何? 動く見通しついてないからこうして質問してるんだけどとりあえずansi版でもいいからサンプル見たいってことか? enum class AIUEO { あ, い, う, え, お }; void print(){ constexpr auto texts = constexpr auto texts = magic_enum::enum_nameptrs<AIUEO>(); for (auto& str : texts) puts(str.data()); //ほんとはここを_putws的なunicodeを受け取るものに投げたい }
401 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 22:14:02.23 ID:TVZZL9aI.net] 今即席でスマホのブラウザで書いたからconstexpr auto texts = constexpr auto texts = のところミスってるけどスルーしといて
402 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 22:14:34.14 ID:4zB49VIz.net] main関数がないので動かんな magic_enumもないので動かんな これがお前の「動く」サンプルなのか???w
403 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 22:16:37.08 ID:aciaBeWI.net] 出たよサンプルないと何もできないおじさん
404 名前:蟻人間 mailto:sage [2022/03/04(金) 22:33:11.96 ID:08B25WN2.net] https://qiita.com/ta_dragon/items/1828ceb16bc8733526e1 貼っとくよ。
405 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 22:42:39.88 ID:rsYyHWe+.net] constexpr std::string s="test"; constexpr std::wstring ws=L"test"; こいつらが通らない時点で俺は諦めた 最終的にほしい型はstd::wstring_viewだろうけど std::array<wchar_t, size>ならなんとかなるかもしれん
406 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 22:52:27.11 ID:nHKPE6Wj.net] そもそもウクライナに寄付しろとか言う前に他民族、多言語に対応しろとmagic_e
407 名前:num作者にメールすべき。 [] [ここ壊れてます]
408 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 22:57:11.67 ID:4zB49VIz.net] 違うだろw こいつが動かせてないだけだろwwww
409 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 23:05:31.04 ID:TVZZL9aI.net] >>399 まさにnameofと同じ作者のものだけど、やっぱ__FUNCSIG__の部分からLつけていくしかなさそうだな
410 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 00:24:50.51 ID:AqnMHu7I.net] まだ動かせないんかいw
411 名前:蟻人間 mailto:sage [2022/03/05(土) 00:27:03.13 ID:z+1i+qt8.net] L##
412 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 00:45:32.11 ID:E2o+9AFP.net] C##
413 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 01:02:31.13 ID:AqnMHu7I.net] 一応言っておくと__FUNCSIG__はリテラルじゃなくてシンボルだぞw >type hoge.cpp hoge(__FUNCSIG__); >cl /P /std:c++17 hoge.cpp Microsoft(R) C/C++ Optimizing Compiler Version 19.28.29912 for x86 Copyright (C) Microsoft Corporation. All rights reserved. hoge.cpp >type hoge.i #line 1 "hoge.cpp" hoge(__FUNCSIG__); > なんというか...ロクに動かせもしないアホが一足飛びに余計なことして普通なら瞬間に出来ることを他人様に何度も何度も聞いて回るというねw
414 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 01:13:20.54 ID:rFZZ/Cia.net] >>407 >__FUNCSIG__ 外側の関数のシグネチャを含む文字列リテラルとして定義されます。 直接Lは付けられないが#define L(x) L##xを使えばちゃんとワイド文字リテラルとなる ついでに言っておくとVSのこの手のマクロはANSIではなくUTF8だったと思うぞ(固定ではなくソースコードの文字コード依存の可能性あり)
415 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 01:23:21.22 ID:AqnMHu7I.net] utf8は正解なんだが、リテラルは不正解w https://godbolt.org/z/4G1vvhrEc コンパイラがリテラルに置き換えるわけだけど、プリプロセッサではシンボルのままなので置換されると分からなくなるw
416 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 01:25:23.87 ID:AZBfqXsc.net] MSVCの場合 /execution-charset で指定した文字コード(デフォルトはsjis=cp932)になるんじゃなかったかな
417 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 01:37:21.06 ID:AqnMHu7I.net] 未
418 名前:指定時はソースと同じらしい https://docs.microsoft.com/ja-jp/cpp/build/reference/execution-charset-set-execution-character-set?view=msvc-170 でutf-8になってたようだな [] [ここ壊れてます]
419 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 01:47:40.22 ID:AqnMHu7I.net] ただし、__FUNCSIG__はそういうのに影響されずutf-8っぽい 普通のリテラルはちゃんとシフトJISで出るけど、__FUNCSIG__はutf8だな
420 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 01:49:42.38 ID:AZBfqXsc.net] ややこしいな、そういうのが一番困るんだよねw
421 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 01:52:53.77 ID:AqnMHu7I.net] MSにありがちw ただシンボルに日本語とかキチガイしかしないからw
422 名前:デフォルトの名無しさん mailto:sage [2022/03/07(月) 06:57:02.25 ID:RhJCMKRm.net] >>414 だって規格で認めてるじゃん ISO/IEC 14882:2020(E) 12.8 User-defined literals [over.literal] 8 [Example 1: template <char...> double operator "" _\u03C0(); // OK: UCN for lowercase pi
423 名前:デフォルトの名無しさん mailto:sage [2022/03/07(月) 07:14:15.82 ID:2Lq6XwwP.net] 引用が仕様ですらないし、引用元もないし、、、挙げ句内容的に__FUNCSIG__はシグニチャ付きの関数名がリテラルとして入るだけだぞw その関数名に日本語使うのキチガイだけだろw リテラル調べてどうするんだよw
424 名前:デフォルトの名無しさん mailto:sage [2022/03/07(月) 07:41:36.14 ID:RhJCMKRm.net] 関数名の一部ってことわかんない?
425 名前:デフォルトの名無しさん mailto:sage [2022/03/07(月) 12:31:32.96 ID:2Lq6XwwP.net] 君に何かを理解してもらうのは諦めるよ 俺の力では無理
426 名前:デフォルトの名無しさん mailto:sage [2022/03/07(月) 12:38:21.73 ID:RhJCMKRm.net] 捨て台詞にしてももうちっとくらいマシなこと言えねえの?
427 名前:デフォルトの名無しさん mailto:sage [2022/03/07(月) 20:42:37.07 ID:padO6mVy.net] >>395 初心者だけどこれってプログラム内の変数名や関数名に日本語を出したいってこと? あ = 3; みたいな
428 名前:デフォルトの名無しさん mailto:sage [2022/03/07(月) 21:21:28.85 ID:yDdB4j8G.net] 規格上はもうUnicodeの文字はだいたい使えるぞ 移植性やコーディングスタイルや常識の観点での良し悪しは別にして
429 名前:デフォルトの名無しさん mailto:sage [2022/03/07(月) 21:29:08.28 ID:ivurCOzA.net] >>420 俺抜きでレスバしてて恐縮だが enum class AIUEO { あ, い, う, え, お }; const wchar_t* aiueo[] = { L"あ", L"い", L"う", L"え", L"お" }; enumに合わせてこんな感じで文字列も欲しいってこと utf8からutf16へのエンコードは割と簡単に実装出来るという事が判明して、200行くらいかかったけどconstevalなu8_to_u16関数作ってmagic_enum::detail::n部分からwide版作っていくことで解決できた
430 名前:デフォルトの名無しさん mailto:sage [2022/03/07(月) 21:34:05.04 ID:yDdB4j8G.net] ええやんプルリクしといてよ
431 名前:デフォルトの名無しさん mailto:sage [2022/03/07(月) 21:39:53.01 ID:ivurCOzA.net] いいけど既に同じようなissue出してる人いて「constexprに文字列返されるので別の形にしたいならそっちで自由にやって」みたいな感じだったからな