次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part137 (正しくはpart138)
http://mevius.5ch.net/test/read.cgi/tech/1535353320/
C++相談室 part139
https://mevius.5ch.net/test/read.cgi/tech/1538755188/
C++相談室 part140
https://mevius.5ch.net/test/read.cgi/tech/1547326582/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.103【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1530384293/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
----- テンプレ ここまで -----
-
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
C++相談室 part141
■ このスレッドは過去ログ倉庫に格納されています
2019/02/22(金) 03:07:43.52ID:MgOIx7iK
233はちみつ餃子 ◆8X2XSCHEME
2019/03/06(水) 22:13:52.26ID:7/fqDaVy234デフォルトの名無しさん
2019/03/06(水) 22:36:11.10ID:cpQrrMgl 継承してるしデータとして保持しておくものでもないしな
235デフォルトの名無しさん
2019/03/06(水) 23:24:49.53ID:TjQtzcPT >>232
質問と関係ないけどスタックサイズって何かわかってないだろ
質問と関係ないけどスタックサイズって何かわかってないだろ
236デフォルトの名無しさん
2019/03/07(木) 01:12:44.42ID:FDOfvyow このあとスタックがおいしくいただきました
237デフォルトの名無しさん
2019/03/07(木) 01:36:59.97ID:7rstSYcJ ostream, ofstream, ostringstreamのスタックサイズはgccとVS2017でそれぞれ以下のようになる。
gcc: ostream=112, ofstream=264, ostringstream=232
VS2017: ostream=272, ofstream=512 ostringstream=376
どうよ?
gcc: ostream=112, ofstream=264, ostringstream=232
VS2017: ostream=272, ofstream=512 ostringstream=376
どうよ?
238237
2019/03/07(木) 01:39:26.14ID:7rstSYcJ 間違えた。gccとVS2017は逆です。
何が言いたいというと、組み込みで気軽に使えるC++を目指すならiostream周りを何とかしないとね、という話。
何が言いたいというと、組み込みで気軽に使えるC++を目指すならiostream周りを何とかしないとね、という話。
239デフォルトの名無しさん
2019/03/07(木) 01:41:48.62ID:1uoKMGSD 組み込みで気軽に使えるC++を目指してないしどこまで削れるかはベンダーの努力次第
240237
2019/03/07(木) 01:45:06.81ID:7rstSYcJ Cがコンパイル言語であるにもかかわらずprintf()系の構文解析でJITコンパイルする野暮ったさを解決すべく導入されたはずのiostreamがまったく活かされていないね。
241デフォルトの名無しさん
2019/03/07(木) 01:45:09.29ID:E2AqWV/D その程度のスタック消費でヒーヒー言うような組み込み案件でiostream使わんだろ
242237
2019/03/07(木) 01:49:48.32ID:7rstSYcJ >>241
スタック消費でヒーハー言う組み込み案件に進出するのもC++のひとつの課題なのでは有馬温泉
スタック消費でヒーハー言う組み込み案件に進出するのもC++のひとつの課題なのでは有馬温泉
243デフォルトの名無しさん
2019/03/07(木) 01:52:03.09ID:1uoKMGSD 組み込み界隈がC++を活用する目標があるのであってC++の目標ではない
244デフォルトの名無しさん
2019/03/07(木) 01:56:44.60ID:E2AqWV/D from_chars
to_chars使えって話だろ
それかfmt
to_chars使えって話だろ
それかfmt
245デフォルトの名無しさん
2019/03/07(木) 03:10:47.55ID:V0jGdMU/ class C : public std::function<int(int)>{};
というクラスを定義して、
int f(int i){ return i + 1; }
void main()
{
C c = f;
int i = c(1);
}
みたいな使い方って出来ないのでしょうか?
functional のヘッダを読んでみましたがさっぱりでした
というクラスを定義して、
int f(int i){ return i + 1; }
void main()
{
C c = f;
int i = c(1);
}
みたいな使い方って出来ないのでしょうか?
functional のヘッダを読んでみましたがさっぱりでした
246はちみつ餃子 ◆8X2XSCHEME
2019/03/07(木) 03:21:15.84ID:fFrTWbSf >>245
やりたいのはこういうこと?
class C : public std::function<int(int)>{
using std::function<int(int)>::function;
};
やりたいのはこういうこと?
class C : public std::function<int(int)>{
using std::function<int(int)>::function;
};
247はちみつ餃子 ◆8X2XSCHEME
2019/03/07(木) 03:25:38.52ID:fFrTWbSf めっちゃ雑にやったけど、
実際にはスライシングに気を付けてな。
実際にはスライシングに気を付けてな。
248デフォルトの名無しさん
2019/03/07(木) 03:42:38.23ID:V0jGdMU/ >>246
すいません、
知識不足でそのusingが何を意味しているのか分かりませんが、
std::function<int(int)> と、
class C : public std::function<int(int)>{} を、
外側から同じように使いたいという感じです。
現在は、
class C { std::function<int(int)> F; };
みたいになっており、
C c;
c.F = f;
int i = c.F(1);
と、こんな風に使われています。
std::function<int(int)> を継承させてしまい、.Fを消したい感じです。
すいません、
知識不足でそのusingが何を意味しているのか分かりませんが、
std::function<int(int)> と、
class C : public std::function<int(int)>{} を、
外側から同じように使いたいという感じです。
現在は、
class C { std::function<int(int)> F; };
みたいになっており、
C c;
c.F = f;
int i = c.F(1);
と、こんな風に使われています。
std::function<int(int)> を継承させてしまい、.Fを消したい感じです。
249はちみつ餃子 ◆8X2XSCHEME
2019/03/07(木) 04:00:06.05ID:fFrTWbSf >>248
単純に
class C : public std::function<int(int)>{}
とした場合、当然だけどクラス C にデフォルトで定義されるコンストラクタは
C::C(void); と C::C(const C&); だから、型が int (*)(int) であるような値を受け取る余地はない。
using std::function<int(int)>::function;
を入れると基底クラス std::function<int(int)> のコンストラクタである
std::function<int(int)>::function; をあたかも C のコンストラクタみたいにできる。
そんだけ。
public 継承してれば std::function<int(int)> の他のメンバはそのまま C のメンバとして
見えるからおおよそ期待する挙動になると思う。
単純に
class C : public std::function<int(int)>{}
とした場合、当然だけどクラス C にデフォルトで定義されるコンストラクタは
C::C(void); と C::C(const C&); だから、型が int (*)(int) であるような値を受け取る余地はない。
using std::function<int(int)>::function;
を入れると基底クラス std::function<int(int)> のコンストラクタである
std::function<int(int)>::function; をあたかも C のコンストラクタみたいにできる。
そんだけ。
public 継承してれば std::function<int(int)> の他のメンバはそのまま C のメンバとして
見えるからおおよそ期待する挙動になると思う。
250デフォルトの名無しさん
2019/03/07(木) 04:06:09.21ID:V0jGdMU/251デフォルトの名無しさん
2019/03/07(木) 08:20:27.58ID:Yz7Qf/Kl >>237
2ファイル同時に編集なんてしたらあっという間に食い潰しそうね
2ファイル同時に編集なんてしたらあっという間に食い潰しそうね
252デフォルトの名無しさん
2019/03/08(金) 01:15:31.98ID:jsJl1WSX テンプレートで何とかなりませんかね。
254237
2019/03/08(金) 06:55:44.25ID:orP5LHkV >>244 が提示してくれた from_chars, to_chars をgccに導入するにはどうしたらいい?
WSLのubuntuを使ってるんだけど規定でfrom_chars, to_charsの定義されたヘッダーファイルが入ってないっぽい。
WSLのubuntuを使ってるんだけど規定でfrom_chars, to_charsの定義されたヘッダーファイルが入ってないっぽい。
255デフォルトの名無しさん
2019/03/08(金) 08:26:54.11ID:ZyNdKvhR >>254
たしか8.0でまだ整数しか実装されてない
たしか8.0でまだ整数しか実装されてない
256デフォルトの名無しさん
2019/03/09(土) 11:07:13.09ID:jx9iLAiD C++テンプレートテクニック第三版っていつ出るんですかね?
257デフォルトの名無しさん
2019/03/10(日) 00:54:12.40ID:3tC9wBDx 待っていても何も始まらない!
君が書くんだよ!
君が書くんだよ!
258デフォルトの名無しさん
2019/03/10(日) 17:07:48.90ID:yzd/Af8M テンプレート引数がクラスでpush_back()メンバを持っているというようなことを検査することはできますかね?
259デフォルトの名無しさん
2019/03/10(日) 17:10:17.73ID:2Qm7LFrM std::is_classとdetection idiomで可能かと
260デフォルトの名無しさん
2019/03/10(日) 17:15:14.74ID:yzd/Af8M でてくしょんいでおむってどの本見ればわかりますかね?
261デフォルトの名無しさん
2019/03/10(日) 17:16:33.87ID:yzd/Af8M decltype使えばいいのかな。
262デフォルトの名無しさん
2019/03/10(日) 17:18:14.94ID:2Qm7LFrM 載ってる本あるのかなあ
どうやるのかだけなら、ここのサンプルコードを真似すればいいと思う
https://cpprefjp.github.io/reference/type_traits/void_t.html
どうやるのかだけなら、ここのサンプルコードを真似すればいいと思う
https://cpprefjp.github.io/reference/type_traits/void_t.html
263デフォルトの名無しさん
2019/03/10(日) 17:21:49.62ID:yzd/Af8M ありがとう。
ちょっと読んでみます。
ちょっと読んでみます。
264デフォルトの名無しさん
2019/03/10(日) 22:01:07.26ID:yzd/Af8M std::byteの使い方がよくわからない。
暗黙の何とかを避けるのに使うんだろか。
暗黙の何とかを避けるのに使うんだろか。
265デフォルトの名無しさん
2019/03/10(日) 22:11:27.82ID:2Qm7LFrM 単純にバイトを表現する型というのが必要となった
char8_tと同じようなもん
char8_tと同じようなもん
266デフォルトの名無しさん
2019/03/10(日) 22:30:00.78ID:yzd/Af8M ソケットやファイルの入出力に使うって事かな?
267デフォルトの名無しさん
2019/03/10(日) 22:49:36.48ID:8hqMg5Px 1バイトサイズの整数のつもりでcharを使ったらstreamで困ることがあったりしたしね。
268デフォルトの名無しさん
2019/03/10(日) 23:15:04.53ID:yzd/Af8M enum class byte : unsigned char { };
ってなってる。
ってなってる。
269デフォルトの名無しさん
2019/03/10(日) 23:21:10.96ID:6gF9+EwK そのベースの型は実装依存
型を取りだして使えってことなんだろうか
型を取りだして使えってことなんだろうか
270デフォルトの名無しさん
2019/03/10(日) 23:21:22.34ID:ketqiw2j なんでenum classなんだ?
typedefと何が違うの?
typedefと何が違うの?
271デフォルトの名無しさん
2019/03/10(日) 23:31:19.81ID:2Qm7LFrM 暗黙の型変換ができない
272デフォルトの名無しさん
2019/03/10(日) 23:54:49.98ID:vvRzWHgY こういうの行き過ぎた型安全に思えるけどね
273デフォルトの名無しさん
2019/03/10(日) 23:57:35.21ID:6gF9+EwK でも過去にそれで何かあったんでしょ
使うかどうかは任意だしある分には困らない
使うかどうかは任意だしある分には困らない
274デフォルトの名無しさん
2019/03/10(日) 23:57:38.91ID:ketqiw2j なるほど
275デフォルトの名無しさん
2019/03/11(月) 00:01:39.15ID:4nU22VRt is_enum_vがtrueになるとか違和感しかない
276デフォルトの名無しさん
2019/03/11(月) 05:30:01.20ID:pTTv+VC9277デフォルトの名無しさん
2019/03/11(月) 05:58:05.15ID:mFqdzmI2 既存のライブラリと衝突しまくるだろそれ
278デフォルトの名無しさん
2019/03/11(月) 11:02:11.57ID:9rO3q8tQ279デフォルトの名無しさん
2019/03/11(月) 13:49:05.84ID:kWR5MawD WPFってどうなの
280デフォルトの名無しさん
2019/03/11(月) 19:42:26.86ID:OenRxSRY 塵
281デフォルトの名無しさん
2019/03/11(月) 22:05:24.43ID:XA5PtgcF getoptの標準化マダーチンチン(AA略
282デフォルトの名無しさん
2019/03/12(火) 07:17:28.89ID:dEFL2K0T void foo(std::function<void()> &&f){}
int main(){
auto lamda = [](){};
foo(lamda);
}
なぜコンパイルできるの?
int main(){
auto lamda = [](){};
foo(lamda);
}
なぜコンパイルできるの?
283デフォルトの名無しさん
2019/03/12(火) 07:23:08.39ID:FSVt1tPQ >>281
オプションの渡し方がそもそも揺れてる
オプションの渡し方がそもそも揺れてる
284デフォルトの名無しさん
2019/03/12(火) 07:25:00.12ID:FSVt1tPQ285デフォルトの名無しさん
2019/03/12(火) 11:46:00.90ID:6Uu2j9Xc int main(std::function<void()> &&f){
return main([](){});
}
return main([](){});
}
286デフォルトの名無しさん
2019/03/12(火) 20:22:26.93ID:dEFL2K0T すいません、低レベルのかたたちばかりでした。
聞くところ間違えました
聞くところ間違えました
287デフォルトの名無しさん
2019/03/12(火) 20:30:56.16ID:Nd0ou12Q なぜc++ main return省略でググらないのか
288デフォルトの名無しさん
2019/03/12(火) 20:43:58.42ID:X3QnQcuN getoptを標準化してしまうとハイフンで始まる変態ファイル名が鬼門になってしまうかな。
289デフォルトの名無しさん
2019/03/12(火) 20:46:35.39ID:Zu3OGTTs is_iterator、is_containerメタ関数はどうやったら作れるんでしょうね?
290デフォルトの名無しさん
2019/03/12(火) 20:54:07.45ID:JuWddRAo SFINAEでググれ、でいいんだろうか
291デフォルトの名無しさん
2019/03/12(火) 20:55:53.60ID:Zu3OGTTs スフィ姉は知っているんですが。
そのあとが。
そのあとが。
292デフォルトの名無しさん
2019/03/12(火) 21:00:20.04ID:cgm/opRe iterator_traitsに通してメンバ型が得られるか確認する?
*とか++とかの操作について確認する?
containerはbeginとendでイテレータ取れるか確認する?
*とか++とかの操作について確認する?
containerはbeginとendでイテレータ取れるか確認する?
293デフォルトの名無しさん
2019/03/12(火) 21:34:26.86ID:Zu3OGTTs template <typename T>
using is_iterator = std::is_class<typename std::iterator_traits<T>::iterator_category>;
これは使えますかね?
using is_iterator = std::is_class<typename std::iterator_traits<T>::iterator_category>;
これは使えますかね?
294デフォルトの名無しさん
2019/03/12(火) 21:58:48.29ID:l3wdXFC4 ぐぐればstack overflowがひっかかる
295デフォルトの名無しさん
2019/03/12(火) 22:01:23.70ID:JuWddRAo 使えますかねって・・自分で試せるだろ
296デフォルトの名無しさん
2019/03/12(火) 22:12:53.32ID:6dDI1fa3 マウントしててワロス
297デフォルトの名無しさん
2019/03/12(火) 22:34:48.05ID:3laDxwEs マウントは取りたいけど教えるのはめんどくさい
298デフォルトの名無しさん
2019/03/12(火) 22:48:31.61ID:YKaKEG7g 結局はそれで何がしたいかによるんじゃね
標準のコンテナやそのイテレータで型分岐したいなら十分だけど、カスタム実装されたユーザー定義のイテレータがそのように実装されているかは分からんし
まあiterator_traitsの特殊化も追加で書くようにすれば使えるか
標準のコンテナやそのイテレータで型分岐したいなら十分だけど、カスタム実装されたユーザー定義のイテレータがそのように実装されているかは分からんし
まあiterator_traitsの特殊化も追加で書くようにすれば使えるか
299デフォルトの名無しさん
2019/03/12(火) 23:06:42.78ID:cgm/opRe C++20からは一応イテレータはコンセプトがあるなあ
コンテナは知らん
コンテナは知らん
300デフォルトの名無しさん
2019/03/12(火) 23:12:51.59ID:YKaKEG7g >>293
はダメな気がするな
template<typename T,typename=void>
struct is_iterator:std::false_type{};
template<typename T>
struct is_iterator<T,std::enable_if_v<std::is_class_v<typename std::iterator_traits<T>::iterator_category>>>:std::true_type{};
はダメな気がするな
template<typename T,typename=void>
struct is_iterator:std::false_type{};
template<typename T>
struct is_iterator<T,std::enable_if_v<std::is_class_v<typename std::iterator_traits<T>::iterator_category>>>:std::true_type{};
301デフォルトの名無しさん
2019/03/12(火) 23:14:38.07ID:JuWddRAo302デフォルトの名無しさん
2019/03/12(火) 23:27:20.69ID:Zu3OGTTs303デフォルトの名無しさん
2019/03/12(火) 23:39:14.10ID:YKaKEG7g 本は知らん
SFINAEが使えるのは宣言部分
そこで置換失敗すると宣言そのものが無かったことになる
SFINAEが使えるのは宣言部分
そこで置換失敗すると宣言そのものが無かったことになる
304デフォルトの名無しさん
2019/03/13(水) 12:04:15.67ID:lxBl+sTZ >>297
マウントが取りたいだけで教える知識がないだけやねんw
マウントが取りたいだけで教える知識がないだけやねんw
305デフォルトの名無しさん
2019/03/13(水) 12:37:00.35ID:mh4jyrHE そう
分からない質問には自分で試せ
これがC++使ってる奴の特徴
分からない質問には自分で試せ
これがC++使ってる奴の特徴
306デフォルトの名無しさん
2019/03/13(水) 12:47:27.60ID:QLyGxm6u307デフォルトの名無しさん
2019/03/13(水) 20:50:37.56ID:u/DrurAb 規約はあるけど「実装が規約」をやっちゃってる部分が多くて、
しかもコンパイラのバージョン依存がひどいってのがc++だからな。
規約は語れても実際にどう動作するか語れない輩も多いだろうね。
しかもコンパイラのバージョン依存がひどいってのがc++だからな。
規約は語れても実際にどう動作するか語れない輩も多いだろうね。
308デフォルトの名無しさん
2019/03/13(水) 21:07:13.50ID:QLyGxm6u そういう構図じゃないと思うよ
309デフォルトの名無しさん
2019/03/13(水) 21:25:53.81ID:Z/ka/TFK どなたか iostreamの存在価値について熱く語ってくれないか。
310デフォルトの名無しさん
2019/03/13(水) 21:34:23.99ID:VRJ3bLEu いやだ
311はちみつ餃子 ◆8X2XSCHEME
2019/03/13(水) 21:38:23.77ID:xQTh8hgU312デフォルトの名無しさん
2019/03/13(水) 21:55:23.80ID:780qHyAl VS2019って4月2日に出るのかな?
313デフォルトの名無しさん
2019/03/13(水) 22:19:08.88ID:DKlmxwmb 米国時間4/2にローンチイベント行ってるから日本だと3日かな
314デフォルトの名無しさん
2019/03/13(水) 22:44:27.53ID:mh4jyrHE >>306
だから分からないのにマウント取るのやめたら?
だから分からないのにマウント取るのやめたら?
315290=301
2019/03/13(水) 23:05:00.60ID:QLyGxm6u316デフォルトの名無しさん
2019/03/14(木) 18:41:51.50ID:qKfDR5xc >>313
待ちどおしいね。
待ちどおしいね。
317デフォルトの名無しさん
2019/03/14(木) 20:57:09.31ID:HZIDFMYl このスレの住人は、新しいVisual Studioでどんなことに期待してるの?
318デフォルトの名無しさん
2019/03/14(木) 20:58:50.91ID:30TndOaO >>317
マウントされないこと
マウントされないこと
319デフォルトの名無しさん
2019/03/14(木) 21:00:03.79ID:O0o087YX 仕様通りに動いてくれりゃそれでいいわ。
320デフォルトの名無しさん
2019/03/14(木) 21:20:35.00ID:nuZulfE1 C++20の早期対応
321デフォルトの名無しさん
2019/03/14(木) 21:25:28.09ID:xC4JJLNw clang対応
322デフォルトの名無しさん
2019/03/14(木) 21:29:12.31ID:vJRyyCPl C#での使い勝手向上
323デフォルトの名無しさん
2019/03/14(木) 21:36:15.68ID:r+Z4K3kn フロントエンドをVSCodeにしてくれ
324デフォルトの名無しさん
2019/03/14(木) 21:45:44.62ID:rlbQlqp5 メモリ喰わずに軽くなって…
325デフォルトの名無しさん
2019/03/14(木) 22:54:08.60ID:qKfDR5xc 何個まで願い事聞いてくれるんだろ。
326デフォルトの名無しさん
2019/03/14(木) 23:13:56.40ID:3EvgP48J >>317
Expressを出してくれ
Expressを出してくれ
>>317
MFC…
MFC…
328デフォルトの名無しさん
2019/03/15(金) 06:01:20.22ID:qA/WFgyI Windows formsのC++へ移植してmfcを完全に抹消してくれ
329デフォルトの名無しさん
2019/03/15(金) 06:06:32.23ID:nvk7uoI+ >>317
オープンソース化
オープンソース化
330デフォルトの名無しさん
2019/03/15(金) 08:11:25.59ID:2KXTO6ja331デフォルトの名無しさん
2019/03/15(金) 08:17:17.58ID:qA/WFgyI ゴミ
332デフォルトの名無しさん
2019/03/15(金) 08:54:09.40ID:fLDhqMRG けっこう癖が強いよね。例外やpimpl否定したり。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★3 [少考さん★]
- 日本、G7への中国招待を懸念 議長国フランスに慎重な対応要請 [どどん★]
- 【サッカー】日本代表、FIFAランキング“4位”の強豪イングランドとの対戦が正式決定! 来年3月に聖地ウェンブリーで激突へ [久太郎★]
- 千晴におちんちん舐めてもらいたい♥
- 姉は貧乳で妹は巨乳ってパターンよくあるよな
- 【高市維新】 日本維新の会さん。 身を切りまくり。 自分や同僚議員、秘書の会社に「公金」を支出しまくっている事が続々と判明 [485983549]
- 【悲報】ジャップ、日中戦争に賛成が5割弱...軍歌の音が聞こえる... [856698234]
- ひまだねー
- youtubeでネタバレコメントするの楽しい
