C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part143
https://mevius.5ch.net/test/read.cgi/tech/1560574313/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1556142878/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
----- テンプレ ここまで -----
C++相談室 part144
レス数が900を超えています。1000を超えると表示できなくなるよ。
2019/07/22(月) 13:18:35.52ID:gptRHpgT
822デフォルトの名無しさん
2019/09/05(木) 19:47:31.38ID:Scz25acM >>779
% を使う、というのは「下位ビット」を使う、という意味と同じですよ
% を使う、というのは「下位ビット」を使う、という意味と同じですよ
>>780
rand() は線形合同法でインプリメントされているので、乱数の質はあまりよろしくないのです
rand() は線形合同法でインプリメントされているので、乱数の質はあまりよろしくないのです
825デフォルトの名無しさん
2019/09/05(木) 20:58:58.28ID:XFJCfiEp >>823>>824
うぜーなーそんなもん誰でも知ってる
うぜーなーそんなもん誰でも知ってる
826デフォルトの名無しさん
2019/09/05(木) 21:59:37.41ID:04ZPpNlH827デフォルトの名無しさん
2019/09/05(木) 22:23:16.46ID:O7Dd9aK6 知らないジジイがいるから教えてるだけだぞ
828デフォルトの名無しさん
2019/09/05(木) 22:55:03.42ID:dJChsmUT >>823
それは違う。
それは違う。
829デフォルトの名無しさん
2019/09/05(木) 22:55:52.34ID:dJChsmUT % と & の違いが理解できないとは・・・。
830デフォルトの名無しさん
2019/09/05(木) 23:11:16.46ID:dJChsmUT だれが rand() が危険と教えてるんだろう。
これが日本の教育か。嘆かわしい。
これが日本の教育か。嘆かわしい。
831デフォルトの名無しさん
2019/09/05(木) 23:13:15.63ID:emUna+dk とりあえず
rand 危険性 下位ビット
辺りで検索して出直してこい
rand 危険性 下位ビット
辺りで検索して出直してこい
832デフォルトの名無しさん
2019/09/05(木) 23:13:29.08ID:dJChsmUT このスレは、自分が馬鹿だと気づいてない人が多いのが問題。
833デフォルトの名無しさん
2019/09/05(木) 23:14:54.43ID:dJChsmUT 質の悪い乱数 ≠ 危険
であることも理解できないとは。
であることも理解できないとは。
834デフォルトの名無しさん
2019/09/05(木) 23:16:21.31ID:dJChsmUT 頭の悪い人は、自分が頭が悪い事に気付かない。
それが最大の問題なんだ。
だから学歴フィルターで落とす。
それが最大の問題なんだ。
だから学歴フィルターで落とす。
835デフォルトの名無しさん
2019/09/05(木) 23:22:15.18ID:3AoluiiY 馬鹿だから自分の判断よりも学歴で判断することになる。
あんなもんは足切り以外役に立たん。
あんなもんは足切り以外役に立たん。
836デフォルトの名無しさん
2019/09/05(木) 23:22:53.94ID:dJChsmUT 馬鹿は馬鹿だと気付かないからな。
学歴フィルターがあるんだ。
学歴フィルターがあるんだ。
837蟻人間 ◆T6xkBnTXz7B0
2019/09/05(木) 23:24:12.84ID:oF7lOGXi 悪い乱数をセキュリティ関係に使うとまずい
838デフォルトの名無しさん
2019/09/05(木) 23:24:14.66ID:dJChsmUT & と% の違いもいくら言っても理解できないんだろ。
rand() の質が悪い事を危険と思っていたりとかな。
rand() の質が悪い事を危険と思っていたりとかな。
839デフォルトの名無しさん
2019/09/05(木) 23:25:02.42ID:dJChsmUT840デフォルトの名無しさん
2019/09/05(木) 23:30:31.24ID:mvC8Xt02 mtだってセキュリティ目的で使うべきではないが他に分野では一般的に用いられる優秀な乱数
要件次第で何が良いかは変わる
randは対応できる要件が少なくて大抵の場合xorやmtが上位互換になれる
メモリ周りがキツい環境下ならmtは候補から外れることもある
要件次第で何が良いかは変わる
randは対応できる要件が少なくて大抵の場合xorやmtが上位互換になれる
メモリ周りがキツい環境下ならmtは候補から外れることもある
841蟻人間 ◆T6xkBnTXz7B0
2019/09/05(木) 23:32:50.72ID:oF7lOGXi 一般に、ビット毎のANDと、剰余(余り)は別の演算だが、最適化によっては剰余がANDになることがある。
842デフォルトの名無しさん
2019/09/05(木) 23:36:21.38ID:HDKa127r843デフォルトの名無しさん
2019/09/05(木) 23:36:48.12ID:Wj2GuKre なんで最適化が出てくるよ?除数が2の冪かどうかだけだろ。
844蟻人間 ◆T6xkBnTXz7B0
2019/09/05(木) 23:52:27.70ID:oF7lOGXi 昔は%が物凄く遅かった。
845デフォルトの名無しさん
2019/09/05(木) 23:59:42.92ID:HDKa127r >>844
それはそうだね。
それはそうだね。
846デフォルトの名無しさん
2019/09/06(金) 00:45:20.09ID:kzddYIGk つか、事あることにセキュリティって言ってるけど、厳選された乱数を使うような、シビアなセキュリティのプログラム作るような人がここにいるの?
847デフォルトの名無しさん
2019/09/06(金) 00:54:30.17ID:9umjXXHu a=b*2^n だった場合、
rand() % a の下位 n ビットには元の rand() の下位 n ビットがそのまま現れる。
2の累乗だけでなく、2の累乗を約数とする場合も下位ビットの影響が大きい。
rand() % a の下位 n ビットには元の rand() の下位 n ビットがそのまま現れる。
2の累乗だけでなく、2の累乗を約数とする場合も下位ビットの影響が大きい。
848蟻人間 ◆T6xkBnTXz7B0
2019/09/06(金) 00:56:43.20ID:AgDBiA/M パスワード管理とか通信ソフトとかオンラインゲームとか。数える位は居るだろうよ。
849デフォルトの名無しさん
2019/09/06(金) 00:58:53.52ID:ZIHlUiP/ >>826
試しにwebのsololearnでも試してみたとろmt19937のデフォルトと同じ乱数列を生成したのでcpprefjpに書いてあるWindowsのGCCと同じ挙動だな。
試しにwebのsololearnでも試してみたとろmt19937のデフォルトと同じ乱数列を生成したのでcpprefjpに書いてあるWindowsのGCCと同じ挙動だな。
850デフォルトの名無しさん
2019/09/06(金) 01:27:15.87ID:TfAw/avA 定義の前にvirtual付ければ仮想関数になるのは分かるんだけど、動的接続の意味がちょっと分からない
851デフォルトの名無しさん
2019/09/06(金) 01:28:44.78ID:cs8CUE0i852デフォルトの名無しさん
2019/09/06(金) 01:48:27.80ID:cs8CUE0i >>851
定義済みマクロで調べてみたら実行環境Mingwぽい・・・・
定義済みマクロで調べてみたら実行環境Mingwぽい・・・・
853デフォルトの名無しさん
2019/09/06(金) 01:55:47.74ID:cs8CUE0i sololearnの実行環境、Mingw GCC 7.2.0らしい
Mingw GCCのrandom_deviceが治ったのは9.2から・・・
Mingw GCCのrandom_deviceが治ったのは9.2から・・・
854デフォルトの名無しさん
2019/09/06(金) 07:14:39.55ID:ZIHlUiP/855デフォルトの名無しさん
2019/09/06(金) 08:33:08.03ID:5s+Nj0ya constexpr を#if 〜 #endif マクロ で使えるようにできないですか?
856デフォルトの名無しさん
2019/09/06(金) 08:36:49.45ID:Ai9IWLM5 それは根本的におかしい
857デフォルトの名無しさん
2019/09/06(金) 10:01:31.79ID:7h7MjjwN858デフォルトの名無しさん
2019/09/06(金) 10:02:35.89ID:7h7MjjwN >>847
それはお前の選び方が悪い
それはお前の選び方が悪い
859デフォルトの名無しさん
2019/09/06(金) 12:35:45.50ID:NkLDDTp5 rand使うときはまずMAXで割ってから、欲しい範囲をかけて使ってね
860デフォルトの名無しさん
2019/09/06(金) 17:17:41.26ID:h7oJ0UUz g++ -mtune=ivybridge -O3 -S
こうやってもrdrand命令使ってくれないな
こうやってもrdrand命令使ってくれないな
861デフォルトの名無しさん
2019/09/06(金) 20:30:19.25ID:mhFSZpwS どうやったら使うの
862デフォルトの名無しさん
2019/09/06(金) 20:43:09.72ID:cs8CUE0i たぶんだけど、rdrand単体は信頼度が低いから必ずシステムの乱数源から取得するようにしてるんだと思う
>>828
どう違うのですか?
どう違うのですか?
>>830
mt 使え、っていう意味なのでは?
mt 使え、っていう意味なのでは?
866デフォルトの名無しさん
2019/09/06(金) 21:26:09.91ID:ZIHlUiP/ cpprefjpでは624個の出力で次の出力を予想出来ると書いてるな。
867デフォルトの名無しさん
2019/09/06(金) 21:28:52.49ID:gp4KcBLb >>865
ソフトウェアだけで作り出した乱数は予測可能だから
ソフトウェアだけで作り出した乱数は予測可能だから
868デフォルトの名無しさん
2019/09/06(金) 22:42:43.08ID:/xfj8nPF >純粋に質問です
>>mtだってセキュリティ目的で使うべきではない
>それはなぜですか?
これはさすがにググレカス言うべきだろ。本人のためにも。
てかググって調べた方が実際本人のためだわ。
>>mtだってセキュリティ目的で使うべきではない
>それはなぜですか?
これはさすがにググレカス言うべきだろ。本人のためにも。
てかググって調べた方が実際本人のためだわ。
869デフォルトの名無しさん
2019/09/06(金) 22:52:53.67ID:5s+Nj0ya ちまたでは「丁寧な無視」がトレンドワードですが、C/C++でエラーを丁寧な無視することで得られるメリットを教えろください。
870デフォルトの名無しさん
2019/09/06(金) 22:55:08.02ID:gp4KcBLb 納期に間に合う
871デフォルトの名無しさん
2019/09/06(金) 22:56:36.14ID:hgPplejZ 読めない英語の警告は丁寧に無視
872デフォルトの名無しさん
2019/09/06(金) 23:23:43.95ID:6s2WTt0o QZは質問に質問で返すアホ
無視に限る
無視に限る
873デフォルトの名無しさん
2019/09/06(金) 23:39:21.29ID:gp4KcBLb 質問に不備がある場合は質問で返す必要がある
874デフォルトの名無しさん
2019/09/07(土) 00:19:45.14ID:qWaNgvFq QZは不備のあるなし関係なしに質問には質問で返してるぞ
マウント取りたいだけなんだろうな
マウント取りたいだけなんだろうな
875デフォルトの名無しさん
2019/09/07(土) 05:13:55.94ID:1BrXByny 大量の乱数(1000x1000)を高速に求める方法はありますか?
876デフォルトの名無しさん
2019/09/07(土) 05:27:55.85ID:qkjEuZ8z GPUに乱数生成ってないのかな
877デフォルトの名無しさん
2019/09/07(土) 06:50:39.07ID:HDhw8kAD878デフォルトの名無しさん
2019/09/07(土) 13:49:44.55ID:VQVarZXt valarrayさんが仲間になりたそうにそちらを見ている。
879デフォルトの名無しさん
2019/09/07(土) 20:48:11.58ID:vbfnpKSX vecter<bool>さんもこちらを見ている!
880デフォルトの名無しさん
2019/09/07(土) 22:00:34.12ID:qkjEuZ8z 仲間にしますか? ▶︎いいえ NO
881デフォルトの名無しさん
2019/09/07(土) 22:23:43.46ID:5djAVjeX Office2000でのイルカの消し方をイルカに質問する感性を大切にしたい。
882デフォルトの名無しさん
2019/09/08(日) 13:27:12.03ID:8BL9REyc 文字列で指定したクラスのインスタンスを生成する方法ってあるのでしょうか?
883デフォルトの名無しさん
2019/09/08(日) 13:30:28.50ID:m+XQHtHp コンパイル時ならテンプレート
実行時ならDBでも用意してcaseでも使え
実行時ならDBでも用意してcaseでも使え
884デフォルトの名無しさん
2019/09/08(日) 13:31:17.61ID:+erxyDXy pythonのクラスなら可能
885デフォルトの名無しさん
2019/09/08(日) 13:33:13.25ID:jesnwhA+ あるけど生成したインスタンスを静的に受けとるには生成されるクラスの種類がポリモーフィズムをとれないといけない
886デフォルトの名無しさん
2019/09/08(日) 15:24:20.28ID:WYqdduYI >>885
個人的には C++ にはそういう機能はないんではないかと思うんですが。
個人的には C++ にはそういう機能はないんではないかと思うんですが。
887デフォルトの名無しさん
2019/09/08(日) 15:27:47.20ID:rbzdrKrZ リフレクションのたぐいだと思うのだが、まだない。
888デフォルトの名無しさん
2019/09/08(日) 15:37:22.01ID:ijKgjVtQ 選択肢になりうるクラスの共通の親を作れば
889デフォルトの名無しさん
2019/09/08(日) 16:06:14.53ID:JVGfWN1Z 生成したいクラスのリストがあらかじめわかっていれば可能
890デフォルトの名無しさん
2019/09/08(日) 16:07:33.58ID:rbzdrKrZ decl_typeが文字列を受け付ければいいが、あれも静的に解決してそうだなぁ。
891デフォルトの名無しさん
2019/09/08(日) 16:14:18.54ID:qEJgkL29892デフォルトの名無しさん
2019/09/08(日) 16:23:33.90ID:m+XQHtHp893デフォルトの名無しさん
2019/09/08(日) 16:25:39.30ID:rbzdrKrZ Typeを保持するタイプが欲しいわ。。
type t=int;
的な。
type t=int;
的な。
894デフォルトの名無しさん
2019/09/08(日) 16:29:08.94ID:x7//igd4 実行時に文字列で指定したいのかソースコードレベルの話なのかわかんねえ
895デフォルトの名無しさん
2019/09/08(日) 16:39:53.43ID:x7//igd4 共通の親クラス持たせてmapのキー文字列にして生成用の関数ぶっこめばいいけど
親クラスが共通じゃない場合は難しいのかな
親クラスが共通じゃない場合は難しいのかな
896デフォルトの名無しさん
2019/09/08(日) 16:48:58.23ID:ijKgjVtQ 全クラスに対応する必要なんてないんだったらこんな感じでいいんじゃないか
enum ClassName{
Hoge,
Hige,
Hage
}
std::any func(ClassName name){
std::any out;
switch(name){
case ClassName::Hoge:
out = new Hoge();
break;
case ClassName::Hige:
out = new Hige();
break;
case ClassName::Hage:
out = new Hage();
break;
}
return out;}
int main(){
//なんか文字列を受け取る
ClassName name;
//文字列をClassNameに変換する
auto fuga = func(name);
if(fuga.type() = typeid(Hoge*)){
auto hoge = std::any_cast<Hoge*>(fuga);
//hogeの処理
} else if 以下略
}
enum ClassName{
Hoge,
Hige,
Hage
}
std::any func(ClassName name){
std::any out;
switch(name){
case ClassName::Hoge:
out = new Hoge();
break;
case ClassName::Hige:
out = new Hige();
break;
case ClassName::Hage:
out = new Hage();
break;
}
return out;}
int main(){
//なんか文字列を受け取る
ClassName name;
//文字列をClassNameに変換する
auto fuga = func(name);
if(fuga.type() = typeid(Hoge*)){
auto hoge = std::any_cast<Hoge*>(fuga);
//hogeの処理
} else if 以下略
}
897デフォルトの名無しさん
2019/09/08(日) 17:24:35.33ID:qEJgkL29 全クラスをユーザーが把握している必要があるなんてクソ設計だな
898デフォルトの名無しさん
2019/09/08(日) 17:52:15.72ID:aYvF75oN なぜAbstractFactoryパターンを使わないのか
899デフォルトの名無しさん
2019/09/08(日) 17:58:58.65ID:qEJgkL29 >>882
GUIDで指定したクラスのインスタンスを生成する方法なら
COMのCoCreateInstance()がそれだが参考になるか?
ユニークでなければならないクラス名を文字列で指定はかなりキツいという意味で
GUIDで指定したクラスのインスタンスを生成する方法なら
COMのCoCreateInstance()がそれだが参考になるか?
ユニークでなければならないクラス名を文字列で指定はかなりキツいという意味で
900デフォルトの名無しさん
2019/09/08(日) 18:29:25.64ID:46Wp6heU vtableでなんとかならんの?
901882です。
2019/09/08(日) 21:55:34.48ID:8BL9REyc 必要な情報が色々と抜けていたのに、色々と情報をいただきありがとうございます。
私が考えていたのは実行時に型を登録するようなクラスを使う方法です。
仮コードですが下記のような感じです。
template<typename BaseType> class InheritanceContainer{
struct IInheritance{
// BaseTypeを継承したクラスを生成
virtual BaseType* Create() const = 0;
};
template<typename Type> struct Inheritance : public IInheritance{
virtual BaseType* Create() const{ return static_cast<BaseType*>( new Type() ); }
};
public:
// 型情報の登録
template<typename Type> bool Add(){
std::unordered_map<std::string, IInheritance*>::iterator it = m_InheritanceMap.find( ctti::nameof<Type>().cppstring() ); // ctti::nameof<Type>().cppstring() cttiライブラリーを利用して型の文字列を取得する
if( it != m_InheritanceMap.end() ) return;
m_InheritanceMap.insert( std::make_pair( ctti::nameof<Type>().cppstring(), new Inheritance<Type>() ) );
}
// 文字列に合わせた BaseType を継承した物を生成
BaseType* Create( const std::string& _TypeText ){
std::unordered_map<std::string, IInheritance*>::iterator it = m_InheritanceMap.find( _TypeText );
return it != m_InheritanceMap.end() ? it->second->Create() : NULL;
}
private:
std::unordered_map<std::string, IInheritance*> m_InheritanceMap;
};
一応これでも要件は満たしているのですが、
いかんせんこれだと使うクラスを予め手動で登録している必要があり、
保守管理が手間なので皆様のお知恵を拝借できればと思い質問した次第です。
頂いた情報はこれから勉強します。
私が考えていたのは実行時に型を登録するようなクラスを使う方法です。
仮コードですが下記のような感じです。
template<typename BaseType> class InheritanceContainer{
struct IInheritance{
// BaseTypeを継承したクラスを生成
virtual BaseType* Create() const = 0;
};
template<typename Type> struct Inheritance : public IInheritance{
virtual BaseType* Create() const{ return static_cast<BaseType*>( new Type() ); }
};
public:
// 型情報の登録
template<typename Type> bool Add(){
std::unordered_map<std::string, IInheritance*>::iterator it = m_InheritanceMap.find( ctti::nameof<Type>().cppstring() ); // ctti::nameof<Type>().cppstring() cttiライブラリーを利用して型の文字列を取得する
if( it != m_InheritanceMap.end() ) return;
m_InheritanceMap.insert( std::make_pair( ctti::nameof<Type>().cppstring(), new Inheritance<Type>() ) );
}
// 文字列に合わせた BaseType を継承した物を生成
BaseType* Create( const std::string& _TypeText ){
std::unordered_map<std::string, IInheritance*>::iterator it = m_InheritanceMap.find( _TypeText );
return it != m_InheritanceMap.end() ? it->second->Create() : NULL;
}
private:
std::unordered_map<std::string, IInheritance*> m_InheritanceMap;
};
一応これでも要件は満たしているのですが、
いかんせんこれだと使うクラスを予め手動で登録している必要があり、
保守管理が手間なので皆様のお知恵を拝借できればと思い質問した次第です。
頂いた情報はこれから勉強します。
902デフォルトの名無しさん
2019/09/08(日) 23:12:54.90ID:35vt5+A/ C++なんだしnullptr使ってこうぜ
903デフォルトの名無しさん
2019/09/09(月) 00:06:19.70ID:9HmBuaOU 基本的な事なのですが教えてください。
memcpy可能なクラス若しくは構造体はどうやって判定するのがスマートですか?
memcpy可能なクラス若しくは構造体はどうやって判定するのがスマートですか?
904デフォルトの名無しさん
2019/09/09(月) 00:11:49.05ID:PN/XD42X905デフォルトの名無しさん
2019/09/09(月) 00:22:36.87ID:9HmBuaOU >>904
1から作られればそうするのですが、c言語のベースがあって、それをコピペでc++で改修して、そいつの改造なんでどうしても必要なんですよ。
手を出せない共通処理がmemcpyを使ってるから、チェック処理が必要だったので
1から作られればそうするのですが、c言語のベースがあって、それをコピペでc++で改修して、そいつの改造なんでどうしても必要なんですよ。
手を出せない共通処理がmemcpyを使ってるから、チェック処理が必要だったので
906デフォルトの名無しさん
2019/09/09(月) 00:23:34.34ID:gU/0Tin3907デフォルトの名無しさん
2019/09/09(月) 00:30:39.85ID:cBWmqiWb std::is_trivially_copyableとか?
908デフォルトの名無しさん
2019/09/09(月) 00:44:58.27ID:k7L7RTJv C互換ということならstd::is_podがいいのかな
909デフォルトの名無しさん
2019/09/09(月) 02:56:10.10ID:L8mIN3PD std::is_pod とかってどうやって実装されてるんだろう。
コンパイラのビルトイン? それとも template で作られてる?
コンパイラのビルトイン? それとも template で作られてる?
910デフォルトの名無しさん
2019/09/09(月) 03:00:19.03ID:MF4WMKe5 constexprでは
911デフォルトの名無しさん
2019/09/09(月) 03:50:37.41ID:9JOMxNeV type_traitsはだいたいビルトインでしょ
コンパイラは知ってるはずの情報なんだから変なトリックコードで取る必要もない
コンパイラは知ってるはずの情報なんだから変なトリックコードで取る必要もない
912デフォルトの名無しさん
2019/09/09(月) 06:48:32.63ID:qT2kJ6NO913909
2019/09/09(月) 12:06:40.11ID:L8mIN3PD >>911
自分で調査してみたところ、以下の様に、あなたのおっしゃるとおり、
中核部分は、__is_pod(クラス名) という「ビルトイン関数」を使っていました:
// Could use is_standard_layout && is_trivial instead of the builtin.
template<typename _Tp>
struct is_pod
: public integral_constant<bool, __is_pod(_Tp)>
{ };
/// integral_constant
template<typename _Tp, _Tp __v>
struct integral_constant
{
static constexpr _Tp value = __v;
typedef _Tp value_type;
typedef integral_constant<_Tp, __v> type;
constexpr operator value_type() const noexcept { return value; }
#if __cplusplus > 201103L
#define __cpp_lib_integral_constant_callable 201304
constexpr value_type operator()() const noexcept { return value; }
#endif
};
自分で調査してみたところ、以下の様に、あなたのおっしゃるとおり、
中核部分は、__is_pod(クラス名) という「ビルトイン関数」を使っていました:
// Could use is_standard_layout && is_trivial instead of the builtin.
template<typename _Tp>
struct is_pod
: public integral_constant<bool, __is_pod(_Tp)>
{ };
/// integral_constant
template<typename _Tp, _Tp __v>
struct integral_constant
{
static constexpr _Tp value = __v;
typedef _Tp value_type;
typedef integral_constant<_Tp, __v> type;
constexpr operator value_type() const noexcept { return value; }
#if __cplusplus > 201103L
#define __cpp_lib_integral_constant_callable 201304
constexpr value_type operator()() const noexcept { return value; }
#endif
};
914デフォルトの名無しさん
2019/09/09(月) 12:31:11.05ID:BaqZzWRe QTとElectronどっちが優れてますか?
915デフォルトの名無しさん
2019/09/09(月) 12:34:21.95ID:L8mIN3PD >>914
単純にQtだと思うが。
単純にQtだと思うが。
916デフォルトの名無しさん
2019/09/09(月) 13:01:23.17ID:a6mWw99g 小学生のどっちが強い議論かよ
917デフォルトの名無しさん
2019/09/09(月) 13:14:59.70ID:By40c52C >>901
pythonのPyObjectのコード観てみ
pythonのPyObjectのコード観てみ
918デフォルトの名無しさん
2019/09/09(月) 13:38:51.72ID:BaqZzWRe919デフォルトの名無しさん
2019/09/09(月) 13:41:26.48ID:FLVXg6p/ tk > wxWidgets > Qt > electron
920デフォルトの名無しさん
2019/09/09(月) 14:33:07.01ID:dQ/pGf2B stringstreamで
std::stringstream ss;
ss << value;
std::string str = ss.str();
こんな感じで数値を文字列に変換すると、valueが3桁以上だった場合
12,000みたいな感じで勝手にカンマがついてしまうんだけど
カンマがつかないフォーマットで出力する方法を教えてください
std::stringstream ss;
ss << value;
std::string str = ss.str();
こんな感じで数値を文字列に変換すると、valueが3桁以上だった場合
12,000みたいな感じで勝手にカンマがついてしまうんだけど
カンマがつかないフォーマットで出力する方法を教えてください
921デフォルトの名無しさん
2019/09/09(月) 14:53:29.86ID:KKylx/uA なんかロケールがアレなんじゃ
922デフォルトの名無しさん
2019/09/09(月) 15:32:31.63ID:qT2kJ6NO 普通、コンマは付かんだろ
https://ideone.com/L7hohk
https://ideone.com/L7hohk
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 地震 [Hitzeschleier★]
- 【地震】 茨城 栃木 埼玉 千葉 震度4 [KingFisherは魚じゃないよ★]
- 【STARTO ENTERTAINMENT】SUPER EIGHTの横山裕、フジ『ドッキリGP』ロケで全治2ヶ月の重傷 [Ailuropoda melanoleuca★]
- 【話題】好きな鍋は?! 「寄せ鍋」「キムチ鍋」「水炊き」「もつ鍋」「豆乳鍋」「ちゃんこ鍋」「ごま坦々鍋」「トマト鍋」 [ひぃぃ★]
- 【食】「シャウエッセンは焼くべからず」暗黙のルールを破り売上高過去最高…日本ハム社員たちが「夜味」にかけた情熱 [ぐれ★]
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★6 [Hitzeschleier★]
- ( ´ん`)地震…? [399583221]
- 🖐( -᷄ὢ)俺には>>2の>>3を自由に扱える権利がある……
- 地震
- 地震地震うっせーーーんだよゴミ共wwwwwwwwwwwwwwwwwwwwwwwwwwwwww
- 震度4とか舐めてるやろ
- 【お笑い】自民党広報「SNS上のデマに実効性ある対策を😤」鹿デマ言いやがった高市に言えカス [359965264]
