エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。
◆ソースのインデントについて
半角空白やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのも手ですが直接貼る場合は、
全角空白か に置換すると見栄えだけはよくなります。
【アップローダー】(質問が長い時はココ使うと便利)
http://codepad.org/ (コンパイルもできるし出力結果も得られる[]privateをチェック)
http://ideone.com/ (時間帯によってはcodepadが重い事があるのでここも利用)
前スレ
【初心者歓迎】C/C++室 Ver.99【環境依存OK】
http://echo.2ch.net/test/read.cgi/tech/1469177649/
【初心者歓迎】C/C++室 Ver.100【環境依存OK】 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2016/11/06(日) 22:58:02.60ID:dU5z27As
582デフォルトの名無しさん
2017/04/05(水) 04:30:52.52ID:ni2ET+sb 奴らは#defineだ
583デフォルトの名無しさん
2017/04/05(水) 08:14:48.69ID:Bh5NPBNH マジックナンバー直書きでしょ
584デフォルトの名無しさん
2017/04/05(水) 08:19:06.54ID:qVk1sCwA K&Rだと〜
c89だと〜
過去の異物がまだ現役だと信じて話してけるのがうざい
c89だと〜
過去の異物がまだ現役だと信じて話してけるのがうざい
585デフォルトの名無しさん
2017/04/05(水) 09:06:55.68ID:ncDYJBnp それ言うならC自体が。
いまさらC++と互換性のないCを選ぶ理由がない。
いまさらC++と互換性のないCを選ぶ理由がない。
586デフォルトの名無しさん
2017/04/05(水) 10:35:04.67ID:k0RY104y >>585
C++と互換性のないCってどんなの?
C++と互換性のないCってどんなの?
587デフォルトの名無しさん
2017/04/05(水) 19:40:11.14ID:IM5122PI ベターC的な所全般だな
範囲forとか2進リテラルとかスレッドライブラリとか参照とか
Cにはnullptrすら無いし細かいところでは条件演算子が右辺値とか
ようするに別言語
オーバーロードに対するtgmathとかもう糞の臭いしかしない
範囲forとか2進リテラルとかスレッドライブラリとか参照とか
Cにはnullptrすら無いし細かいところでは条件演算子が右辺値とか
ようするに別言語
オーバーロードに対するtgmathとかもう糞の臭いしかしない
>>580
「K&R1 は構造体は基本的にポインタでしか扱えない」制限なんて,使ってもいなかったらわからないだろう?
「K&R1 は構造体は基本的にポインタでしか扱えない」制限なんて,使ってもいなかったらわからないだろう?
590580
2017/04/05(水) 20:02:06.85ID:DVg/5L4N え?Qちゃんてサンデープログラマじゃないの?
職業プログラマでもないし
プログラミング暦せいぜい10年未満だと思ってた
職業プログラマでもないし
プログラミング暦せいぜい10年未満だと思ってた
>>579
>「forループ?本質はgotoと同じ」
そんなことはいわないとおもうよ,K&R1 の時代から for はあるしね
きがつくと for(;;) { } と break だけで書いてたりするのはあるかもね,while 使いにくいとか,do while なんかマクロの中でしかつかわない,とかさ
enum?
#define でいいとおもうよ‥
>「forループ?本質はgotoと同じ」
そんなことはいわないとおもうよ,K&R1 の時代から for はあるしね
きがつくと for(;;) { } と break だけで書いてたりするのはあるかもね,while 使いにくいとか,do while なんかマクロの中でしかつかわない,とかさ
enum?
#define でいいとおもうよ‥
593デフォルトの名無しさん
2017/04/05(水) 21:26:45.75ID:Kw8eDt7v ニートじゃ分からんことも多いのでは
595デフォルトの名無しさん
2017/04/05(水) 22:10:26.67ID:mGFW5fgT そういうこと言ってるとそのうち技術についていけなくなるよ
596デフォルトの名無しさん
2017/04/05(水) 22:22:23.34ID:ncDYJBnp C99やC11って、新しい技術とかそういうんじゃないじゃん。
597デフォルトの名無しさん
2017/04/05(水) 22:40:44.77ID:mGFW5fgT 規格
598デフォルトの名無しさん
2017/04/06(木) 10:47:58.81ID:jz0x7tjm 企画ものは好きじゃないからな
599デフォルトの名無しさん
2017/04/06(木) 16:35:26.64ID:w+UX2Wix ころころ変わるんだから最新もクソも無いわけだが
pakomamaはガチらしいな
pakomamaはガチらしいな
601デフォルトの名無しさん
2017/04/06(木) 20:16:13.94ID:kFToYptL まず、C#のasyncだのawaitだのはC++にも欲しいところ
というか、取り入れる方向で議論していたような
どのみちQZには使いこなせない機能だから知らなくてもよいけど
知れば発狂することだろう
というか、取り入れる方向で議論していたような
どのみちQZには使いこなせない機能だから知らなくてもよいけど
知れば発狂することだろう
603デフォルトの名無しさん
2017/04/06(木) 22:33:11.66ID:Ao1zg6OQ >>601
coroutineの事なら根本的な所が違うから勘違いしないようにな
coroutineの事なら根本的な所が違うから勘違いしないようにな
604デフォルトの名無しさん
2017/04/07(金) 20:08:34.35ID:cdWiLUH2 馬鹿の特長:目的/機能の違いと実現するための実装の違いの区別がつかない
605デフォルトの名無しさん
2017/04/08(土) 12:56:12.29ID:TFmwEDa6 C#のawaitはGUIのスレッドを意識出来るので有用だが
C++のawaitはただ裏で走らせるだけの機能的には劣化版な気がしてならない
C++のawaitはただ裏で走らせるだけの機能的には劣化版な気がしてならない
606デフォルトの名無しさん
2017/04/08(土) 13:14:20.88ID:bfo0YVHI >>605
c++で標準的なgui使うとすると何になるの?
c++で標準的なgui使うとすると何になるの?
607デフォルトの名無しさん
2017/04/08(土) 13:49:52.49ID:xnWSKOe7 >>605
そりゃ C++ と C# のポリシーの違いだろ
そりゃ C++ と C# のポリシーの違いだろ
608デフォルトの名無しさん
2017/04/09(日) 22:32:13.26ID:nTEmq1X3 C使ってる人で変数宣言を途中に書く人いる?
やめた方がいい?
やめた方がいい?
609デフォルトの名無しさん
2017/04/09(日) 23:00:21.55ID:gthRNL4S むしろそうして欲しいかな
勿論ブロックスコープは意識してる前提で
勿論ブロックスコープは意識してる前提で
610デフォルトの名無しさん
2017/04/14(金) 09:11:56.63ID:ezi5K97R 初期のCはブロック先頭しかコンパイルが通らない
コンストラクタも型推論もないのに途中に置くメリットが少ない
初期化漏れというモンスターの隠れ家になりやすい
コンストラクタも型推論もないのに途中に置くメリットが少ない
初期化漏れというモンスターの隠れ家になりやすい
611デフォルトの名無しさん
2017/04/14(金) 10:33:55.73ID:L6e5ZQwW 一応Cで書くときは関数ブロック直後に書いてるけど、それはそれでforで使うiとかを使い回す事になるから、C++みたくプログラマの良識を信じて(ブロックを意識して変数宣言すると信じて)、好きな場所で宣言出来た方が正解なんだろうな。
612デフォルトの名無しさん
2017/04/14(金) 10:35:17.63ID:L6e5ZQwW 出来た方がと言うか、今は出来るんだから、した方が正解に訂正。
613デフォルトの名無しさん
2017/04/14(金) 12:59:25.70ID:Hdztr2ik 出来ることと乱用していいことはイコールでない
一瞬だけの一時変数を直前で宣言するのならありだけど
関数全体で使うなら頭で宣言すべきだし、そもそも中間で宣言するような長い関数は
短くなるよう見直すべき
一瞬だけの一時変数を直前で宣言するのならありだけど
関数全体で使うなら頭で宣言すべきだし、そもそも中間で宣言するような長い関数は
短くなるよう見直すべき
614デフォルトの名無しさん
2017/04/14(金) 13:04:43.28ID:xSRtCFhF 魔法の言葉
ケースバイケース
ケースバイケース
615デフォルトの名無しさん
2017/04/14(金) 19:32:18.15ID:UiWlchtO スコープは可能な限り狭く
おじいちゃんの遺言
おじいちゃんの遺言
616デフォルトの名無しさん
2017/04/14(金) 19:38:55.23ID:PNQsiXg9 初期化漏れはブロック先頭でしかかけない方が起こしやすいだろう
長い範囲で使う変数でも、変数ははじめて使うところで宣言した方が分かりやすいしバグも減る。
長い範囲で使う変数でも、変数ははじめて使うところで宣言した方が分かりやすいしバグも減る。
617デフォルトの名無しさん
2017/04/14(金) 20:04:35.98ID:Z/bjVn5R 初期化忘れ防止はどこで宣言したってあんま関係ないというか
大差ないだろうな実際
必要になった時点で宣言するってことでよいと思う
さもないと上手くいかない場合もあるし
いちいち使いもしない「ダミーの値」で初期化するのは馬鹿らしいし
余計にバグりそう
大差ないだろうな実際
必要になった時点で宣言するってことでよいと思う
さもないと上手くいかない場合もあるし
いちいち使いもしない「ダミーの値」で初期化するのは馬鹿らしいし
余計にバグりそう
618デフォルトの名無しさん
2017/04/14(金) 20:13:31.25ID:Z/bjVn5R auto result = func();
まぁこういう風にしたいわな
int result = 0;
・・・
result = func();
↑その「0」って初期化値は何なんですか、何を意味した「0」なんですか
では0の代わりに1で初期化したらどうなるんですか
この初期化値の意味は一体何なんですか
ってことになるしな
結局「0」とか「1」とかの初期化値はダミーでありプログラム上なんの意味もなかったりするし
逆に初期化値に意味がある場合もあるから余計にややこしくなる
bool flag = false;
if( func() )
{
flag = true;
}
これらを区別したいから必要になった個所で宣言に一票
まぁこういう風にしたいわな
int result = 0;
・・・
result = func();
↑その「0」って初期化値は何なんですか、何を意味した「0」なんですか
では0の代わりに1で初期化したらどうなるんですか
この初期化値の意味は一体何なんですか
ってことになるしな
結局「0」とか「1」とかの初期化値はダミーでありプログラム上なんの意味もなかったりするし
逆に初期化値に意味がある場合もあるから余計にややこしくなる
bool flag = false;
if( func() )
{
flag = true;
}
これらを区別したいから必要になった個所で宣言に一票
619デフォルトの名無しさん
2017/04/14(金) 21:45:43.28ID:spQE74XB 老人の「昔は良かった」を見て顔真っ赤にして論破しようとマジレス
みっともない
みっともない
620デフォルトの名無しさん
2017/04/14(金) 23:47:26.34ID:9eRQSDOY 必要なものを必要なときに宣言する
それだけの話
それだけの話
621デフォルトの名無しさん
2017/04/15(土) 09:16:54.52ID:RtikNDCG622デフォルトの名無しさん
2017/04/15(土) 09:26:22.77ID:Af1/s0zG もともとが
初期化忘れを防ぐためには関数の先頭で宣言〜
への反論だったからだぜ
初期化忘れを防ぐためには関数の先頭で宣言〜
への反論だったからだぜ
623デフォルトの名無しさん
2017/04/15(土) 09:41:32.48ID:RtikNDCG >622
日本語もわからないチンパンは無理して
コンピュータ使わなくても
祖国でオナニーしてればいいんだぜ
日本語もわからないチンパンは無理して
コンピュータ使わなくても
祖国でオナニーしてればいいんだぜ
624デフォルトの名無しさん
2017/04/15(土) 09:50:31.14ID:Af1/s0zG 君の疑問がどこにあるのか本当にわからないからどうでもよい
625デフォルトの名無しさん
2017/04/15(土) 10:02:51.76ID:Af1/s0zG for(int i = ...; ; ) が書けるようになったのは素直にありがたいな,と感じている
627デフォルトの名無しさん
2017/04/23(日) 23:52:45.18ID:IUq/7GPJ >>626
脳の進化が20年前で止まったチンパンはc89でも使ってろ
脳の進化が20年前で止まったチンパンはc89でも使ってろ
628デフォルトの名無しさん
2017/04/24(月) 20:45:20.10ID:et30sNFg うきー
>>627
C99 or later で便利になったことなんて,そんなにないんだよね‥
C99 or later で便利になったことなんて,そんなにないんだよね‥
630デフォルトの名無しさん
2017/04/25(火) 06:08:12.88ID:X14wy5zc 数値計算とか特殊用途なライブラリ追加ってイメージ。
そりゃ、手間の割に汎用性がなかったら対応コンパイラも出てこないわ。
そりゃ、手間の割に汎用性がなかったら対応コンパイラも出てこないわ。
631デフォルトの名無しさん
2017/04/25(火) 22:55:58.60ID:EbISA0IE インライン関数も行コメントもboolもrestrict も無しで
どうやってプログラム書いてんのか想像もつかない
snprintf無しとか無理ゲーだろ
どうやってプログラム書いてんのか想像もつかない
snprintf無しとか無理ゲーだろ
632デフォルトの名無しさん
2017/04/26(水) 02:18:40.34ID:Kw1ZNGm3 restrict無しが想像つかないってどういうことだろ
633デフォルトの名無しさん
2017/04/26(水) 09:07:13.88ID:bRGeq+mw restrict使ったことないなあ
大きく最適化されるの?
大きく最適化されるの?
634デフォルトの名無しさん
2017/04/26(水) 09:13:52.17ID:rDz6/6sg 最適化はあんま気にしてなくて意味的なものかな
memcpyとmemmoveみたいな
memcpyとmemmoveみたいな
635デフォルトの名無しさん
2017/04/26(水) 09:20:57.15ID:A4NmaPdj そう言う機能はメーカー独自実装でC99決まるずっと前からスタンダードだったから、C99って実感が無い。。。
636デフォルトの名無しさん
2017/04/26(水) 11:36:23.97ID:O9yeoh6Z637デフォルトの名無しさん
2017/05/05(金) 00:51:04.53ID:evlI6rq7 void func(hoge)
int hoge;
{}
こんな書き方があったん?
int hoge;
{}
こんな書き方があったん?
638デフォルトの名無しさん
2017/05/05(金) 01:30:10.63ID:PzvORh1V >>637
詳しくは k&r style とかでググればいいけど今時知る必要はほぼないと思う
詳しくは k&r style とかでググればいいけど今時知る必要はほぼないと思う
639デフォルトの名無しさん
2017/05/05(金) 15:05:47.25ID:9iyukdGg K&R1 だね、引数の型チェックができないから不便かつミスを誘発しやすい
640デフォルトの名無しさん
2017/05/07(日) 00:55:58.17ID:uDdo3knt 使われなくなった過去の異物に優劣語り出すとか
老人やべーな
老人やべーな
641片山博文MZ ◆T6xkBnTXz7B0
2017/05/07(日) 00:58:01.39ID:gTai4K61 ×異物
○遺物
○遺物
642デフォルトの名無しさん
2017/05/07(日) 01:41:21.28ID:zkvqzaCu 誰も優を語ってない訳だが
643デフォルトの名無しさん
2017/05/07(日) 15:54:40.58ID:s2OM55fz ストラウストラップの本って読む価値ありますか?
644デフォルトの名無しさん
2017/05/07(日) 22:28:38.36ID:fUCVOwEA 著書全般の基本的な傾向としては万人向けの価値はない
物事の意味や本質を学び考え悩み理解しようとする人向けの本であって
うわべだけの丸暗記やコピペで即結論や結果を求める人向けの本ではないから
物事の意味や本質を学び考え悩み理解しようとする人向けの本であって
うわべだけの丸暗記やコピペで即結論や結果を求める人向けの本ではないから
645デフォルトの名無しさん
2017/05/07(日) 22:36:06.44ID:f9jMnLHr 読む価値はあるが嘘が多いので騙されない注意が必要
646デフォルトの名無しさん
2017/05/07(日) 23:30:36.93ID:s2OM55fz647デフォルトの名無しさん
2017/05/19(金) 15:26:03.09ID:49hF9eg/ はぁ〜〜〜〜
安易にC++に手を出すんじゃなかった
安易にC++に手を出すんじゃなかった
648デフォルトの名無しさん
2017/05/20(土) 12:15:32.26ID:Niypv3FQ 変人や御用達の言語だからな
馬鹿のくせにプライド高い老害しか使ってないイメージ
馬鹿のくせにプライド高い老害しか使ってないイメージ
649デフォルトの名無しさん
2017/05/20(土) 12:51:51.67ID:Nls5mnQ9 >>648
その手の人らの声が大きいだけだよ。特にこんなところでは。
その手の人らの声が大きいだけだよ。特にこんなところでは。
650デフォルトの名無しさん
2017/05/20(土) 18:23:23.08ID:PYbACk+S みんな黙ってC++だよ
651デフォルトの名無しさん
2017/05/23(火) 00:42:13.85ID:9/IkIyOw ちょっとした確認なんだけどさ、
デストラクタが空っぽ (デフォルトデストラクタ) でもオブジェクトを後始末するための何らかの処理はするよね?
よくあるスライシングの問題で、
・クラス A をクラス B が継承している
・クラス A のデストラクタは virtual が付いていない
・クラス B のデストラクタはデフォルトデストラクタ
・クラス B はメンバ変数を持っていない
・B* を A* にキャストしたものを delete
という状況だと見かけ上はクラス B のオブジェクトには後始末すべきものは何もないように見えるけど、
デストラクタが呼ばれないのはやっぱあかんよな?
デストラクタが空っぽ (デフォルトデストラクタ) でもオブジェクトを後始末するための何らかの処理はするよね?
よくあるスライシングの問題で、
・クラス A をクラス B が継承している
・クラス A のデストラクタは virtual が付いていない
・クラス B のデストラクタはデフォルトデストラクタ
・クラス B はメンバ変数を持っていない
・B* を A* にキャストしたものを delete
という状況だと見かけ上はクラス B のオブジェクトには後始末すべきものは何もないように見えるけど、
デストラクタが呼ばれないのはやっぱあかんよな?
652デフォルトの名無しさん
2017/05/23(火) 04:48:39.03ID:pt6Ia/HA うん
653デフォルトの名無しさん
2017/05/23(火) 09:20:18.86ID:J4YcG+3k654デフォルトの名無しさん
2017/05/23(火) 10:48:08.30ID:Ip/q9ayQ 未定義動作多すぎだなこの言語。
よくここまで生き残れたな。
よくここまで生き残れたな。
655デフォルトの名無しさん
2017/05/23(火) 11:01:35.25ID:3W0XlzKr 未定義部分を各社が好きに定義してたからね。
VC++だとこう動くけど、g++だとこう動く、みたいな。
VC++だとこう動くけど、g++だとこう動く、みたいな。
656デフォルトの名無しさん
2017/05/23(火) 12:45:18.14ID:hcbwXZ+h >>653
横からだけど、それまじ?
出来れば、規格で書かれてる場所教えて欲しい。
不安に思いながらも、一個作っちゃったんだよな…
動作確認済みだから、直ちに問題があるわけではないんだけど、未定義と聞くと将来的には修正しておきたい…
横からだけど、それまじ?
出来れば、規格で書かれてる場所教えて欲しい。
不安に思いながらも、一個作っちゃったんだよな…
動作確認済みだから、直ちに問題があるわけではないんだけど、未定義と聞くと将来的には修正しておきたい…
657デフォルトの名無しさん
2017/05/23(火) 13:25:39.67ID:I6yYOIGb >規格で書かれてる場所教えて欲しい
delete式の説明の最初のページに書かれていることが探せないというのは
場所を教えられたところでそもそも規格を保有していないのではないか
delete式の説明の最初のページに書かれていることが探せないというのは
場所を教えられたところでそもそも規格を保有していないのではないか
658デフォルトの名無しさん
2017/05/23(火) 13:25:57.75ID:YY4qnA2y >>656
意図して作ったの?バグじゃなくて?
意図して作ったの?バグじゃなくて?
659デフォルトの名無しさん
2017/05/23(火) 15:16:19.75ID:0tdmeFKn htmlとその解釈に悩まされるよりはマシ
660653
2017/05/23(火) 15:21:53.55ID:Ek6JChT/ >>656
俺もworking draftしかないけどn3690の5.3.5の3段落目
In the first alternative (delete object), if the static type of the object to be deleted is different from its
dynamic type, the static type shall be a base class of the dynamic type of the object to be deleted and the
static type shall have a virtual destructor or the behavior is undefined.
俺もworking draftしかないけどn3690の5.3.5の3段落目
In the first alternative (delete object), if the static type of the object to be deleted is different from its
dynamic type, the static type shall be a base class of the dynamic type of the object to be deleted and the
static type shall have a virtual destructor or the behavior is undefined.
661デフォルトの名無しさん
2017/05/23(火) 17:00:54.34ID:EZJXMIkJ C++があまりに不安な要素をたくさん抱えているお陰で未だに新生言語が多数出てくると
思えばいいじゃん?
思えばいいじゃん?
662デフォルトの名無しさん
2017/05/23(火) 19:47:58.75ID:rsJqfxq0 継承すんなよ
663デフォルトの名無しさん
2017/05/24(水) 00:55:48.61ID:WEdzXALv >>658
意図して作った。
悪しき方法とは思いつつも、stringクラスにsprintf 的な機能のメンバ関数作ったった。
その時、stringクラスの全機能を実装するのがめんどくさかったんで public 継承で。
メモリレイアウトは一切変わらない事を見切った上でだが、未定義だとすると…ヤベ。
意図して作った。
悪しき方法とは思いつつも、stringクラスにsprintf 的な機能のメンバ関数作ったった。
その時、stringクラスの全機能を実装するのがめんどくさかったんで public 継承で。
メモリレイアウトは一切変わらない事を見切った上でだが、未定義だとすると…ヤベ。
664デフォルトの名無しさん
2017/05/24(水) 00:56:49.58ID:WEdzXALv ん、まあ、deleteは使わないからセーフか?
665デフォルトの名無しさん
2017/05/24(水) 01:00:58.95ID:WEdzXALv666デフォルトの名無しさん
2017/05/24(水) 12:01:47.91ID:/RGvDc8r メモリレイアウトが変わらない範囲で既存のクラスを再オープンして機能を追加する方法の提案だけは出てたような気がする。
667デフォルトの名無しさん
2017/05/24(水) 12:06:31.74ID:/RGvDc8r668デフォルトの名無しさん
2017/05/24(水) 13:51:37.65ID:OqDgfclu669デフォルトの名無しさん
2017/05/24(水) 14:15:44.36ID:ttKQmf2U >>668
std::vector<std::string>に入れたら死ぬってことだよね??
std::vector<std::string>に入れたら死ぬってことだよね??
670デフォルトの名無しさん
2017/05/24(水) 14:47:39.17ID:/RGvDc8r >>669
ポインタを std::string* に入れてなおかつそれを std::string* のままで delete したらあかんという話。
値を std::string にキャストする分にはなにも問題はない。
ポインタを std::string* に入れてなおかつそれを std::string* のままで delete したらあかんという話。
値を std::string にキャストする分にはなにも問題はない。
671デフォルトの名無しさん
2017/05/24(水) 15:58:36.11ID:ttKQmf2U >>670
だからstd::vector<std::string>にいれらんないよね?
だからstd::vector<std::string>にいれらんないよね?
672デフォルトの名無しさん
2017/05/24(水) 17:02:32.05ID:/RGvDc8r >>671
何を言いたいのかよくわからんが……。
std::string を継承した型は、レイアウトが変わらないようにしたからと言って (キャストなしで) std::string には入らないよ。
言いたいことを具体的にコードで示してくれんか
何を言いたいのかよくわからんが……。
std::string を継承した型は、レイアウトが変わらないようにしたからと言って (キャストなしで) std::string には入らないよ。
言いたいことを具体的にコードで示してくれんか
673デフォルトの名無しさん
2017/06/03(土) 20:46:07.15ID:/cDPk3Lb674デフォルトの名無しさん
2017/06/04(日) 05:01:25.52ID:a4MXR2y0 テンプレート構造体を作りその配列をクラスのメンバに含めたいのですが上手くいきません。
作りたいクラスはスタックとして使えるもので、
主な作りたいメンバは、二つの型のメンバ変数を持つ上記のテンプレート構造体の配列。
引数としてテンプレート構造体を持ち、上記の配列に順次プッシュしていく関数。
最後にプッシュされた構造体をポップする関数、という3つです。
どのようにすればテンプレート構造体をクラスのメンバにすることが出来るのでしょうか?
もしくは、このような機能を持つクラスを実装するためにはどうすればいいのでしょうか?
よろしくお願いします。
作りたいクラスはスタックとして使えるもので、
主な作りたいメンバは、二つの型のメンバ変数を持つ上記のテンプレート構造体の配列。
引数としてテンプレート構造体を持ち、上記の配列に順次プッシュしていく関数。
最後にプッシュされた構造体をポップする関数、という3つです。
どのようにすればテンプレート構造体をクラスのメンバにすることが出来るのでしょうか?
もしくは、このような機能を持つクラスを実装するためにはどうすればいいのでしょうか?
よろしくお願いします。
675デフォルトの名無しさん
2017/06/04(日) 08:23:07.29ID:7To+hzFq まず
using テンプレート構造体の型 = 構造体テンプレート<型パラメーター>;
をします
using テンプレート構造体の型 = 構造体テンプレート<型パラメーター>;
をします
676デフォルトの名無しさん
2017/06/04(日) 11:02:02.70ID:4s9JqZC9677デフォルトの名無しさん
2017/06/04(日) 11:02:24.41ID:4s9JqZC9678デフォルトの名無しさん
2017/06/04(日) 21:12:43.78ID:0J0aNZ4Z 質問への回答はいいとして
たった100行のコードによくもここまでUNKOを詰め込めるものだと感心
たった100行のコードによくもここまでUNKOを詰め込めるものだと感心
679デフォルトの名無しさん
2017/06/04(日) 21:24:21.29ID:4s9JqZC9 >>678
どこ?教えて
どこ?教えて
680デフォルトの名無しさん
2017/06/04(日) 22:06:48.73ID:0J0aNZ4Z >>679
細かくは見てないがぱっと見て気になったのは、
殆どが「= default」で済むものを自前で定義する所とか
K,Vの左辺値が渡せないunkoコンストラクターとか
左辺値が渡せないpush関数とか
key_value_pair_stackの外で定義されたdefault_max_sizeとか
禁断の「value_type pop()」とか
ムーブ代入だけ何故か無いとか
例外安全を考慮しないswapとか
constexprの付いていない関数が多数とか
constが付いていないsize関数とか
質問者が「テンプレート構造体」と「クラス」の言葉を使い分けているのにわざわざクラステンプレートにする所とか
「value_type::value_type」の二つのvalue_typeの意味が違うとか
スワップする気皆無の「swap(key_value_pair&& other)」とか
あと
何故付いているのかわからない「const auto」のconstとか
キーバリューペアをシーケンシャルコンテナーに詰める例も地味にUNKO
細かくは見てないがぱっと見て気になったのは、
殆どが「= default」で済むものを自前で定義する所とか
K,Vの左辺値が渡せないunkoコンストラクターとか
左辺値が渡せないpush関数とか
key_value_pair_stackの外で定義されたdefault_max_sizeとか
禁断の「value_type pop()」とか
ムーブ代入だけ何故か無いとか
例外安全を考慮しないswapとか
constexprの付いていない関数が多数とか
constが付いていないsize関数とか
質問者が「テンプレート構造体」と「クラス」の言葉を使い分けているのにわざわざクラステンプレートにする所とか
「value_type::value_type」の二つのvalue_typeの意味が違うとか
スワップする気皆無の「swap(key_value_pair&& other)」とか
あと
何故付いているのかわからない「const auto」のconstとか
キーバリューペアをシーケンシャルコンテナーに詰める例も地味にUNKO
681デフォルトの名無しさん
2017/06/04(日) 22:21:08.74ID:4s9JqZC9682デフォルトの名無しさん
2017/06/04(日) 23:59:40.42ID:4s9JqZC9■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【無言】中国怒らせた高市首相→1週間だんまり、国民に実害も説明なし 中国問題を避けてスルー… [BFU★]
- アメリカ議会 「中国が台湾武力侵攻する準備を急速進展中」 ★4 [お断り★]
- 外国人の犯罪率は日本人の1.72倍 警察庁が短期滞在者除いた数字を参院内閣委で答弁 [七波羅探題★]
- 止まらぬ「日本売り」 高市財政への懸念で進む金利上昇と円安 [蚤の市★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★10 [樽悶★]
- 「ドラゴンボール」初の全世界キャラクター人気投票が開幕!212キャラからナンバーワンが決まる!! [ひかり★]
- 【実況】博衣こよりのえちえちカービィのエアライダー🧪
- 【悲報】高市政権、ホタテ輸出の支援検討 [834922174]
- 【35🌸専】なんG さくらみこ桃鉄配信実況スレ🏡【ホロライブ▶】
- 【憲法改正】起草委員会、設置へ [476729448]
- アリアナ・グランデさん、カリッカリになってしまう… [329329848]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
