【初心者歓迎】C/C++室 Ver.101【環境依存OK】 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/07/18(火) 07:07:27.20ID:vzMDiUgd
エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。

◆ソースのインデントについて
半角空白やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのも手ですが直接貼る場合は、
全角空白か に置換すると見栄えだけはよくなります。

【アップローダー】(質問が長い時はココ使うと便利)
http://codepad.org/ (コンパイルもできるし出力結果も得られる[]privateをチェック)
http://ideone.com/ (時間帯によってはcodepadが重い事があるのでここも利用)

前スレ
【初心者歓迎】C/C++室 Ver.100【環境依存OK】
http://mevius.2ch.net/test/read.cgi/tech/1478440682/
2017/07/23(日) 11:35:11.86ID:3jIQW2qu
糞ハンネ
2017/07/24(月) 18:08:53.79ID:UuUAOyUA
>>80
間違いだと思う点について具体的に
2017/07/24(月) 18:34:08.77ID:3yF9COr6
>>48
違う。通常公理系から証明する。

>>50
違う。可算加法性は自明な性質ではない。

>>57
解析学は非可算無限、整数論は可算無限を扱う
無限集合を扱うのは一般的
むしろ有限集合を扱うほうが特殊

>>58
ソボレフ空間とかガン無視かよ



めんどくさいからこのくらいで
ほぼすべてのレスに間違いが含まれてる
2017/07/24(月) 18:40:29.85ID:UuUAOyUA
>>83
では、糞コテQZが提起している「ド・モルガンこそ公理」については、どう思う?
2017/07/24(月) 18:44:31.66ID:3yF9COr6
>>84
それも間違ってるよ
2017/07/24(月) 18:49:15.52ID:UuUAOyUA
>>85
立場を確認する
排中律(二重否定)は認める立場?認めない立場?
2017/07/24(月) 19:20:26.89ID:iUqnpKPO
天才の時間を無駄にするなよ。
2017/07/24(月) 19:22:57.71ID:UuUAOyUA
>>87
初等整数論だけが数学ではない、中国剰余定理でとまっていては惜しい
2017/07/24(月) 22:07:17.47ID:Gxl+AYGO
>>47-50
やりたければ公理にした系を考えてもええんやで。
でもまあこのスレの話題として必要なのは手書きで真理値表を書けるレベルの狭い世界の論理だろう、JK
2017/07/24(月) 22:49:36.92ID:9ObWd1Q9
論理回路とかでまともな無限元のブール代数教えるとこなら、
交換、結合、単位元、補元の公理から証明する手順教える。
2017/07/24(月) 22:51:50.82ID:mYhfbnvO
と、荒らし共が申しております
92デフォルトの名無しさん
垢版 |
2017/07/25(火) 10:10:52.25ID:OkhRIGg6
operator[](int n) をその定義されてるクラス自身で呼び出すにはどうしたらいいんですか?
2017/07/25(火) 10:41:29.07ID:QLVMoI/q
(*this)[n]
94デフォルトの名無しさん
垢版 |
2017/07/25(火) 10:49:24.51ID:OkhRIGg6
サンクスです
2017/07/25(火) 12:05:17.11ID:M07WjxQ9
>>92
難しく考えなくてもそのまんまだよ
this->operator[](n);
もしくは単に
operator[](n);
2017/07/25(火) 12:22:00.82ID:s+Qz9lcg
あとから劣後した提案できるって尋常じゃないね
2017/07/25(火) 18:10:25.51ID:0HSMBoAM
operator()();
俺はこの言語を勉強するのをやめた
2017/07/25(火) 19:38:58.05ID:CTkA02wP
>>97
こう使う
http://mevius.2ch.net/test/read.cgi/tech/1434079972/21
2017/07/25(火) 20:05:19.85ID:M07WjxQ9
>>97
operator彡(゚)(゚)
こう使う
2017/07/25(火) 20:35:51.44ID:hJo+OnkE
尋常小學校
101デフォルトの名無しさん
垢版 |
2017/07/26(水) 03:01:12.72ID:73NCM6AX
int main() {
vector<int> v;
v.reserve(10000);
v.push_back(0);
cout << v.capacity() << endl;
vector<int> (v).swap(v);
cout << v.capacity() << endl;
}
(v).swap(v); の文頭のvに付いてる()は何の意味があるんでしょうか?
2017/07/26(水) 03:21:52.99ID:qHYVpVTl
バルタン星人。
103デフォルトの名無しさん
垢版 |
2017/07/26(水) 04:24:25.95ID:cw7jpAOD
>>101
vector<int> (v)
までで一時オブジェクトをコピーコンストラクトしてるんじゃ?

で、.swap(v) で中身を入れ替えて、コンパクションするっていうサンプルに見える。
未確認で書いてるので、間違えてたらごめん。
2017/07/26(水) 06:18:35.77ID:qHYVpVTl
  ・V ・
(v).swap(v) フォッフォッフォッ
105デフォルトの名無しさん
垢版 |
2017/07/26(水) 15:54:35.58ID:73NCM6AX
>>103
何とか理解できました。ありがとうございます。
2017/07/26(水) 20:46:35.22ID:bC5SPfn2
vector<int> (v).swap(v);

>と( の間が離れてるのが、分かりにくい読みづらい、意地悪な点だな。
2017/07/26(水) 21:25:55.76ID:cdUQ14Vj
>>106
なんか宣言っぽく見えるよね。
108デフォルトの名無しさん
垢版 |
2017/07/26(水) 22:56:52.57ID:vCDZhGQY
int OTL=3;
2017/07/27(木) 01:04:28.47ID:q1rhXXen
> vector<int> (v).swap(v);

C++は糞だな。
2017/07/27(木) 06:22:38.44ID:tCxrViSf
同意
2017/07/27(木) 06:23:16.82ID:tCxrViSf
C++というより、ライブラリだが
2017/07/27(木) 06:55:32.44ID:SUaLVh4Q
>>103
そんな変な文法を考えたヤツ誰だよ?
2017/07/27(木) 07:34:51.23ID:mWPL0ri7
その書き方がわかりづらいからC++11でvectorにshrink_to_fit()が追加されてるわけで

http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#755
2017/07/27(木) 17:10:11.12ID:nKOoAa+D
そんで、mapの場合はどうするんでつか?
115デフォルトの名無しさん
垢版 |
2017/07/27(木) 19:10:45.43ID:/VCkXAgy
mapでシュリンクが必要なケースあるの?
2017/07/27(木) 19:41:35.37ID:nKOoAa+D
無いの?
117デフォルトの名無しさん
垢版 |
2017/07/27(木) 22:33:18.49ID:wZCn8yX+
無いと思ったから、あるの?って聞いたんだけど。
118デフォルトの名無しさん
垢版 |
2017/07/27(木) 22:33:51.77ID:wZCn8yX+
そもそもreserveできないし。
2017/07/27(木) 23:08:59.52ID:8uP2v97Y
>>117
あると思ったから 無いの? なのに
どうして無いのか説明できないアフォなの?
2017/07/27(木) 23:34:10.64ID:5IXklzdW
今流行りのこれか
これからわざとこういうやり取りして荒らすやつ増えるんだろうな

http://www.honmotakeshi.com/archives/51758414.html

委員「あなたがやっていることの根拠を示してください」
前川「俺のやることに疑問を持つなら疑問を持つ根拠を示せ」
委員「政策を実現するにはそれに基づく根拠が欲しいと言ってるんです」
前川「それだけの疑問を呈するなら疑問の根拠を示せ」
121デフォルトの名無しさん
垢版 |
2017/07/27(木) 23:43:42.41ID:KBJFSsyK
>>119
最初からそう言えばいいのに。
そもそもシュリンクが必要になるのかがわからないって事でOK?
2017/07/28(金) 08:07:33.12ID:VRFX85+t
>>121
最初から一貫した発言しかしてないけど
「最初からそう言えばいいのに」ってアフォなの?
123デフォルトの名無しさん
垢版 |
2017/07/28(金) 08:22:36.87ID:aSs6rxS/
コミュニケーション出来てない
明らかに触ってはダメな人でしょ
2017/07/28(金) 08:34:52.56ID:oIFva6g9
わざとじゃねーの?
2017/07/28(金) 12:38:35.23ID:WViVOgsq
どっちも説明する気がないから
平行線
126デフォルトの名無しさん
垢版 |
2017/07/28(金) 12:39:07.07ID:WvgdGCet
煽り専用の人工無能でしょ
2017/07/28(金) 14:08:59.02ID:IiZPJKRx
バイナリファイルについて質問します
変数xyzがあったときxyzをまとめてバイナリファイルにすることはできないんでしょうか?
例えば
#include<stdio.h>
FILE *fp;
int main(void) {
fp=fopen("test2.dat", "wb");
int x = 10;
double y = 15.55;
char z[] = { "abcde" };
fwrite(&x, sizeof(x),1, fp);
fclose(fp);
return 0;
}
これでxのバイナリファイルはできると思いますがyzにもそれぞれ専用のファイルポインタを用意して
それぞれ個別に書き出すことしかできないんでしょうか?
2017/07/28(金) 14:46:45.90ID:wtp1eGJk
fclose()する前に同じfpに続けてfwrite()すれば、同じファイルに書き出されますよ
2017/07/28(金) 15:02:04.83ID:IiZPJKRx
ありがとうございます。
いっぺんに書くんじゃなくて行を増やして書けばよかったんですね(´エ`)
2017/07/28(金) 21:22:15.86ID:HyK7cEQc
> char z[] = { "abcde" };
こんな初期化初めて見た
奥が深いな
131デフォルトの名無しさん
垢版 |
2017/07/29(土) 01:30:09.73ID:wXH6c2tF
mapで、あるvalueを持つpairだけを別のmapに移す時はどうやればよいでしょうか?

例えば
unordered_map<int, int> map1{
  {0, -10},
  {10, -1},
  {2, 5},
}
があってvalueが負のもの({0, -1.}と{10, -1})をmap1から削除して
map2へ移す、みたいな場合です。
2017/07/29(土) 02:13:30.18ID:NWxouBfw
C++14まではmapの要素を直接付け替えることはできないのでそのまま
1 ループやalgorithmで該当する要素を見つける
2 その要素のキーと値でmap2に新しい要素を追加
3 古い要素をmap1から削除
4 該当する要素がなくなるまで1-3を繰り返す
2017/07/29(土) 08:10:20.47ID:HavpCAcr
>>131
std::remove_copy_if を使うのが一番簡単な方法だと思う。

std::remove_copy_if(std::begin(map1), std::begin(map2), std::inserter(map2, std::end(map2)), [](decltype(map2)::value_type x) { return x.second < 0; });

みたいな感じ。
2017/07/29(土) 08:18:43.60ID:MwwfsD4U
C++のSTLってこういうの好きだけど
ベタに書いた方が絶対楽だよな・・
2017/07/29(土) 08:21:23.24ID:zJVnUUbX
あとから見てこれなにやってるんだっけ?
ってなりそうで怖い
2017/07/29(土) 08:24:46.31ID:HavpCAcr
>>134-135
こういう場合に for で回した方がいいというタイプの人は go に移行した方が幸せになれると思う。
2017/07/29(土) 08:27:01.28ID:N+YJafLA
forで回した方が良い
2017/07/29(土) 08:30:04.61ID:MwwfsD4U
あとエラるもんなら
とんでもない量の
コンパイルエラー吐くんだよな
もうアホかと
2017/07/29(土) 08:32:03.69ID:wXH6c2tF
>>132
ありがとうございます。
http://ideone.com/l4I4Kt
こういう感じでループ回しているときに削除するとうまく行かないので聞いてみました。
イテレータでもうまくいかなくて。

>>133
algorithm使うんですね。こういう書き方知らなかったです。
2017/07/29(土) 09:29:15.29ID:USfv5Coy
>>135
for文のほうがなにやってるかわからんわ
標準なら何やってるかわからなくてもググれば挙動がわかる
どっちにしても、わかりにくいものは構造化して名前をつけるべきだけどね
2017/07/29(土) 09:35:15.24ID:HavpCAcr
せやな。
名前重要。
2017/07/29(土) 09:46:53.19ID:tkUDhhFx
>>139
イテレータを使うならこんな感じ
eraseの返却値をイテレータの更新に使う
http://ideone.com/PysLw5
2017/07/29(土) 10:19:10.90ID:zJVnUUbX
>>140
分かりにくいか?
for(auto pair: map1){
if(pair.second < 0){
map2.insert(std::pair<int,int>(pair.first, pair.second);
}
}
for(auto pair: map2){
map1.erase(pair.first);
}
2017/07/29(土) 11:11:01.24ID:cYfk9kB4
お題改変野郎おつ
2017/07/29(土) 11:14:07.65ID:zJVnUUbX
>>144
ん?
どこか違うっけ?
2017/07/29(土) 11:15:51.26ID:bre1+bmg
>>143
うん
そんなコードがプルリクされたらreplace to stl functionとだけ書いて突き返すよ
2017/07/29(土) 11:17:44.82ID:cYfk9kB4
>>145
>for(auto pair: map2){
2017/07/29(土) 11:19:40.37ID:bre1+bmg
てかpairなんて変数名使うなよ
誰か頭おかしいやつがusing namespace stdしたらどうすんだよ
2017/07/29(土) 11:21:58.56ID:bre1+bmg
てか細々とひどいね
こんな短いコードでよくもまぁ無能をここまで晒せるなと思う
2017/07/29(土) 11:23:44.04ID:zJVnUUbX
>>147
意味わからん
ひょっとしてコード読めてない?
2017/07/29(土) 11:26:00.62ID:zJVnUUbX
>>148
なんの問題もないけど?
って思ったらいちゃもんしかつけられない奴かよ w
2017/07/29(土) 11:29:49.09ID:USfv5Coy
>>151
make_pair知らないの?
なんでコピーコンストラクタ使わないの?
てかemplace知らないの?

ifのステートメントの中がひどい
2017/07/29(土) 11:57:02.87ID:ODSH1Ehs
ことごとく的はずれな指摘で笑たわ
2017/07/29(土) 12:12:55.39ID:cYfk9kB4
>>150
お前アルゴリズムとか論理に弱いだろw
2017/07/29(土) 12:15:08.54ID:14mINgXT
プログラム板ってみんなこんな感じなの?
とりあえずバカにする
みたいな
2017/07/29(土) 12:16:28.94ID:qNmrQnXF
せやで
2017/07/29(土) 13:01:38.77ID:MwwfsD4U
>>146
なぜ?その理由は?
書くならそこまで書けよ無能
2017/07/29(土) 13:20:13.10ID:FYOlqRfm
>>157
わけわかんないオレオレコードより、テスト済みの標準ライブラリ関数のほうが信頼できるから
2017/07/29(土) 13:24:20.64ID:14mINgXT
安易にライブラリを使うから、パフォーマンスがどんどん悪くなるんだな
2017/07/29(土) 13:47:21.71ID:E5EEKRTu
>>155
自分の知識目一杯使って的はずれなマウンティングしてる奴がいるだけ w
2017/07/29(土) 15:25:53.36ID:wF9WnZrE
あと、自分がコメントできそうな話題になるとここぞとばかりに知識を披露しようとして、
主題からずれたことを言い出したり、
さらにそれに間違いがあって余計なツッコミや攻撃的コメントを呼び込むのも
よく見る風景。
2017/07/29(土) 15:47:58.67ID:0zBFZ9bK
さほど広い範囲を読んでるわけじゃないけど、
C++関連は特に殺伐としてる感じはあるな。
2017/07/29(土) 15:56:27.65ID:gp3BUyJn
>>160 ←こういうのもマウンティングだよな。
164デフォルトの名無しさん
垢版 |
2017/07/29(土) 16:15:28.13ID:mj0H/MXI
>>159
まずは意図が伝わるようにと言う意味でシンプルに書くことが重要。
標準ライブラリ使用は最低限のマナー。

チーム開発してると、上記を踏まえずオレオレ判断でパフォーマンスガー言っている人が、一番迷惑なんだよね。
2017/07/29(土) 16:53:05.23ID:V9CC1YIs
仕事だとメモリ効率や実効速度より開発効率が優先されるからな
2017/07/29(土) 16:56:37.35ID:USfv5Coy
パフォーマンスどうこうで、標準ライブラリ使わなくても許されるのは、mkl開発チームとか、eigenのコミッターレベル
2017/07/29(土) 17:01:43.15ID:E0esoNX5
>>164
>まずは意図が伝わるように
ならお前、>>133が何してるか説明出来るんだよな?
2017/07/29(土) 17:07:45.04ID:zJVnUUbX
>>163
鏡見た方がいいと思うよ w
2017/07/29(土) 17:18:24.12ID:WkR4K9lF
>>167
>>133はすげーわかりやすいだろ
170デフォルトの名無しさん
垢版 |
2017/07/29(土) 17:19:42.35ID:mj0H/MXI
>>167
それが元ネタかー!

すみませんでした _orz
無理っていうか、>>143でおk派ですw
171デフォルトの名無しさん
垢版 |
2017/07/29(土) 17:20:19.90ID:mj0H/MXI
てか、パフォーマンス関係ねー
2017/07/29(土) 17:24:23.71ID:E0esoNX5
>>169
答えられないから回答を逸らすんですねわかります
まさか「あるvalueを持つpairだけを別のmapに移す」なんて言わないことを祈る
173デフォルトの名無しさん
垢版 |
2017/07/29(土) 17:26:24.48ID:mj0H/MXI
ん?
でも、よく見たら>>133割りとわかりやすいじゃん?
今、スマホの小さい画面で改行が多いから面食らったけど、2行(かな?)でみれば、とてもシンプルで意図も読み取れるわ。
174デフォルトの名無しさん
垢版 |
2017/07/29(土) 17:30:02.48ID:mj0H/MXI
ちょっとテンパったけど、そのレベルなら正直どっちでも構わないな。
コメントがあれば。
2017/07/29(土) 17:50:22.46ID:E0esoNX5
>>144
どう見ても>>133の方が酷いお題改変なのだが
それをさしおいて>>143に指摘とはこれ如何に
2017/07/29(土) 17:53:27.93ID:14mINgXT
>>165
どうでも良いことにこだわってるあたり、
開発スピードが速いようには見えないなあ
177デフォルトの名無しさん
垢版 |
2017/07/29(土) 21:53:58.73ID:JdwUdvlQ
>>127
亀だがバイナリ書き込みは後で読み込むときに構造情報が欠けてることが多いからできれば避けたほうがいい
abcde が可変長になりそうなところとかな
2017/07/29(土) 23:46:27.56ID:HavpCAcr
個人的には BENCODE がなかなかいいんじゃないかと思ってる。
2017/07/30(日) 12:35:48.46ID:GR0hOB2I
>>177
>バイナリ書き込みは後で読み込むときに構造情報が欠けてることが多い
欠けているのは>>177の知能だろ
180デフォルトの名無しさん
垢版 |
2017/07/30(日) 17:25:43.33ID:w5RmXCUD
enum EMFType
{
MF_INT, // 符号付き整数
};

// いろいろなデータを1つの関数で表示します
void MultiFunc(EMFType type, unsigned int data)
{
switch(type)
{
case MF_INT : cout << (int)data << endl; break;
}
}

int main()
{
int a = -10;

MultiFunc(MF_INT , a);
return 0;
}

実行結果
-10

unsigned int にマイナスの値を渡してるんですが、そのまま出力されます。
これが仕様だとすると、パラメーターにunsigned int を指定する意味はなんなんでしょうか?
2017/07/30(日) 18:36:26.80ID:wjBL4Xoh
>>180
http://codepad.org/kjSkQNMa
これが望みの解かどうかはわからないが
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況