次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part137
https://mevius.5ch.net/test/read.cgi/tech/1531558382/
このスレもよろしくね。
【初心者歓迎】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++相談室 part137
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 12c3-4saf)
2018/08/27(月) 16:02:00.94ID:vY3QDx2y02デフォルトの名無しさん (ワッチョイ 8ac3-4saf)
2018/08/27(月) 16:03:04.41ID:vY3QDx2y0 すまんスレ番ミスった
3デフォルトの名無しさん (ワッチョイ 6698-PcWx)
2018/08/27(月) 16:03:29.14ID:H/K1FpSE0 謝って許されることじゃないね
4デフォルトの名無しさん (ワッチョイ ea34-5zXi)
2018/08/27(月) 16:22:40.23ID:oonIPXiN0 こういうヤツがプログラミングするとえらいことになる
5デフォルトの名無しさん (ワッチョイ 3aa1-WQAu)
2018/08/27(月) 16:26:27.53ID:7PWma/MO0 1 はクズ
6デフォルトの名無しさん (ワッチョイ bd93-zO5i)
2018/08/27(月) 17:22:00.81ID:TVAO+u4x0 フェイルセイフ機構として
スレッドを立てて何分間あるいはレス何個までは
立てた人に限りタイトルを修正できる、
みたいな機能があっても良いかも知れん。
あるいは事前に「これから立てるスレッドは〜の後継である」
みたいな宣言ができて、重複や番号の間違いをチェックしてくれるとか。
スレッドを立てて何分間あるいはレス何個までは
立てた人に限りタイトルを修正できる、
みたいな機能があっても良いかも知れん。
あるいは事前に「これから立てるスレッドは〜の後継である」
みたいな宣言ができて、重複や番号の間違いをチェックしてくれるとか。
7デフォルトの名無しさん (ワッチョイ 6698-PcWx)
2018/08/27(月) 17:25:07.23ID:H/K1FpSE08デフォルトの名無しさん (アウアウカー Sad5-fKBf)
2018/08/27(月) 18:21:58.03ID:xvf87VjGa 結局どうするん?
ここ使用?
ここ使用?
9デフォルトの名無しさん (ワッチョイ bd08-4dUf)
2018/08/27(月) 22:39:11.81ID:oahf+hzU0 vector<object*>* func()
{
vector<object*>* vect = new vector<object*>;
for(int i = 0; i < 10; ++i)
{
object* obj = new object;
vect->push_back(obj);
}
return vect;
}
若干うろ覚えなんですけどこんな関数があります。ポインターを収納したベクターへのポインターを返すというものです。
まず質問なんですけど、関数内でnewして確保したメモリアドレスを返すってこれあまり良くないこと……ですよね?それともよくあることでしょうか。
それともう一つ。仮にmainなりどこかでこの関数の戻り値を受け取って利用したあと、メモリ解放はどうすればよいのでしょう
例えばdelete vectだけか、それともobject*をループで回して全部にdeleteすればいいのか、それとも両方やらにゃならんのか
よろしくお願いします。
{
vector<object*>* vect = new vector<object*>;
for(int i = 0; i < 10; ++i)
{
object* obj = new object;
vect->push_back(obj);
}
return vect;
}
若干うろ覚えなんですけどこんな関数があります。ポインターを収納したベクターへのポインターを返すというものです。
まず質問なんですけど、関数内でnewして確保したメモリアドレスを返すってこれあまり良くないこと……ですよね?それともよくあることでしょうか。
それともう一つ。仮にmainなりどこかでこの関数の戻り値を受け取って利用したあと、メモリ解放はどうすればよいのでしょう
例えばdelete vectだけか、それともobject*をループで回して全部にdeleteすればいいのか、それとも両方やらにゃならんのか
よろしくお願いします。
10デフォルトの名無しさん (ワッチョイ 2561-+TX9)
2018/08/27(月) 22:45:10.99ID:X1STgCw40 どなたか c++でのソケット通信を使った複数人が使えるチャットのサンプルコード持ってる人いませんか?
ネットで色々調べてるんですけど、tcpじゃなくてUDPのやつだったりwindowsじゃなかったりcだったり書いてあることが難し過ぎたり...
そもそも1:1のコードばかりで複数人対応のサンプルコードが見つかりませんorz
ネットで色々調べてるんですけど、tcpじゃなくてUDPのやつだったりwindowsじゃなかったりcだったり書いてあることが難し過ぎたり...
そもそも1:1のコードばかりで複数人対応のサンプルコードが見つかりませんorz
11デフォルトの名無しさん (ワッチョイ 2561-+TX9)
2018/08/27(月) 22:46:54.38ID:X1STgCw40 複数人対応にするにあたって、複数のソケットを用意するのとselect関数が必要になると思うのですけど、selectの方はおそらく理解できています。
複数のソケットからアクセプトされるところの流れが全然分からないです。
今自分が書いてみたコードだとスタックオーバーフローというらしい現象が起こってしまってます。
複数のソケットからアクセプトされるところの流れが全然分からないです。
今自分が書いてみたコードだとスタックオーバーフローというらしい現象が起こってしまってます。
12デフォルトの名無しさん (ワッチョイ b9f2-PcWx)
2018/08/27(月) 22:47:25.25ID:CIUWIYCt0 難しくないものは存在しないとオモ
13デフォルトの名無しさん (ワッチョイ ea34-5zXi)
2018/08/27(月) 22:50:37.52ID:oonIPXiN014デフォルトの名無しさん (ワッチョイ fdb3-PcWx)
2018/08/27(月) 22:57:17.24ID:AuFamtLr015デフォルトの名無しさん (ブーイモ MM8e-my2l)
2018/08/27(月) 23:00:46.13ID:CP0MczZVM >>10-11
次の本が、似たような状況(たしかレーシングゲームだったか)のサンプルを載せていたと記憶しています
https://www.amazon.co.jp/gp/product/4774117544/
Windows の winsock も UNIX のバークレーソケットと似たようなもので、若干の修正は必要ですが、そこはネットを参考にして書きなおせる範囲だと思います
この本は初版が 1992 年頃に出たときから htons()/ntohs() が書いていない、とボロカスだったんですが、私はとっても好きだったのです…
次の本が、似たような状況(たしかレーシングゲームだったか)のサンプルを載せていたと記憶しています
https://www.amazon.co.jp/gp/product/4774117544/
Windows の winsock も UNIX のバークレーソケットと似たようなもので、若干の修正は必要ですが、そこはネットを参考にして書きなおせる範囲だと思います
この本は初版が 1992 年頃に出たときから htons()/ntohs() が書いていない、とボロカスだったんですが、私はとっても好きだったのです…
17デフォルトの名無しさん (ワッチョイ 2580-kiUO)
2018/08/27(月) 23:16:58.65ID:zX+eejgv0 listenで待ってるスレッド(もしくはプロセス、こっちならあとでfork()する)がいる
listenで待ってるスレッドやプロセスからacceptして
peerと新しいソケットで通信するスレッドを作る
もうコレで分かる
listenで待ってるスレッドやプロセスからacceptして
peerと新しいソケットで通信するスレッドを作る
もうコレで分かる
18デフォルトの名無しさん (ワッチョイ 6680-jqYf)
2018/08/27(月) 23:32:35.96ID:ba8BcfX3019デフォルトの名無しさん (ワッチョイ 2561-+TX9)
2018/08/27(月) 23:32:44.53ID:X1STgCw40 サーバーが自分用のソケット一つと複数個のユーザー用ソケットを作成し、ユーザー 一人につき一つのソケットが割り振られるイメージでした。
20デフォルトの名無しさん (アウアウオー Sa12-fKBf)
2018/08/27(月) 23:52:05.98ID:H8sSdLfla こんな感じにpublicにもmainいてもエラーにならないのはどうしてですか?
Main.h
class CMain
{
public:
int main(int argc, char* argv[]);
};
Main.cpp
int main(int argc, char* argv[])
{
return 0;
}
Main.h
class CMain
{
public:
int main(int argc, char* argv[]);
};
Main.cpp
int main(int argc, char* argv[])
{
return 0;
}
21デフォルトの名無しさん (ワッチョイ ea5e-7kIV)
2018/08/27(月) 23:57:35.85ID:TZo7knfc0 一般関数のmainとメンバ関数Cmain::main()は別物だろうよ。
22デフォルトの名無しさん (ワッチョイ 4af9-DXeA)
2018/08/28(火) 00:05:18.35ID:04IHxsB70 >>20
名前空間が違っていて区別がつくから同じ名前のものがあっても大丈夫。
名前空間が違っていて区別がつくから同じ名前のものがあっても大丈夫。
23デフォルトの名無しさん (アウアウオー Sa12-fKBf)
2018/08/28(火) 00:18:40.52ID:wxxo3xcIa >>21,22
なるほど、それもそうですね
なるほど、それもそうですね
24デフォルトの名無しさん (ワッチョイ bd08-4dUf)
2018/08/28(火) 07:30:50.31ID:r63k0nU7025デフォルトの名無しさん (ワッチョイ bd04-4dUf)
2018/08/28(火) 07:39:23.68ID:oGnGbrSA0 スマポつかえよ!
26デフォルトの名無しさん (ワッチョイ 0a4c-OYOS)
2018/08/28(火) 07:44:24.16ID:BzDdgzNr0 上司のコードに文句言いつつデリートも知らん奴がなんか言っとる
27デフォルトの名無しさん (ワッチョイ bd04-4dUf)
2018/08/28(火) 07:49:16.32ID:oGnGbrSA0 勇んでデリートするようなコード書きたいか?
28はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5e6f-PcWx)
2018/08/28(火) 08:58:31.81ID:vCTFJ2QC0 >>24
リファクタリングの機会を設けないと秘伝が負債になるのがこの業界
リファクタリングの機会を設けないと秘伝が負債になるのがこの業界
29デフォルトの名無しさん (ワッチョイ 6680-jqYf)
2018/08/28(火) 08:59:48.56ID:TEJeUOom0 auto pointer, smart pointer ?
30デフォルトの名無しさん (ワッチョイ bd04-4dUf)
2018/08/28(火) 10:05:03.87ID:oGnGbrSA0 rip.auto_ptr.
31デフォルトの名無しさん (ワッチョイ 2561-+TX9)
2018/08/28(火) 15:32:29.83ID:2BUW4hJo0 >>19
1:1のソケットを4つ用意すれば4人でチャットできますよね?送ったメッセージをサーバーサイドが受け取って他の3人のソケットに送るイメージです
1:1のソケットを4つ用意すれば4人でチャットできますよね?送ったメッセージをサーバーサイドが受け取って他の3人のソケットに送るイメージです
32デフォルトの名無しさん (ワッチョイ fdb3-PcWx)
2018/08/28(火) 15:45:07.84ID:FmvTK/aC0 あー、それなら合ってるね
そのままのイメージで書いてみればいける
そのままのイメージで書いてみればいける
33デフォルトの名無しさん (ワッチョイ 2561-+TX9)
2018/08/28(火) 19:28:50.38ID:2BUW4hJo0 >>32
それぞれのソケットの中身で違うのはポートだけってことで大丈夫ですかね?
それぞれのソケットの中身で違うのはポートだけってことで大丈夫ですかね?
34デフォルトの名無しさん (ワッチョイ fdb3-PcWx)
2018/08/28(火) 19:45:32.21ID:FmvTK/aC0 まぁポートだけ、というかリスニングの処理だけ特殊とは言えるかも
35デフォルトの名無しさん (オッペケ Sr3d-sFL6)
2018/08/28(火) 20:36:55.08ID:jw/yHSMpr このスレって競プロerいる?
36デフォルトの名無しさん (ワッチョイ de1b-9hnH)
2018/08/28(火) 23:15:21.08ID:q8rsvszA0 >>35
いる
いる
37デフォルトの名無しさん (ワッチョイ d9bd-BYDb)
2018/08/29(水) 00:22:05.79ID:9tKCPoRq0 関数からreturnされる値は必ず自動的にmoveされる?
38デフォルトの名無しさん (ワッチョイ 66eb-vl9i)
2018/08/29(水) 00:25:41.59ID:uf5REJu50 コンパイラと設定によると思う
39デフォルトの名無しさん (ワッチョイ 2580-kiUO)
2018/08/29(水) 00:26:07.98ID:zRPnCBM00 計算機S 192.168.0.1:40000 ⇔ 計算機A 192.168.0.16:41769
計算機S 192.168.0.1:40000 ⇔ 計算機B 192.168.0.17:61544
計算機S 192.168.0.1:40000 ⇔ 計算機C 192.168.0.18:61568
計算機S 192.168.0.1:40000 ⇔ 計算機D 192.168.0.19:63490
↑ ↑最初に接続する計算機のポートは通常自動的に空き番が使われるようにする
計算機Sからみてpeerは
計算機Sが受付を待っているポートに
接続する必要がある
計算機S 192.168.0.1:40000 ⇔ 計算機B 192.168.0.17:61544
計算機S 192.168.0.1:40000 ⇔ 計算機C 192.168.0.18:61568
計算機S 192.168.0.1:40000 ⇔ 計算機D 192.168.0.19:63490
↑ ↑最初に接続する計算機のポートは通常自動的に空き番が使われるようにする
計算機Sからみてpeerは
計算機Sが受付を待っているポートに
接続する必要がある
40デフォルトの名無しさん (ワッチョイ fdb3-PcWx)
2018/08/29(水) 01:16:31.78ID:nUvoSPGm0 え、TCPいうてたしサーバーのIPとポート指定して接続してつなぎっぱなしを想定してたんだけど違うのか
いちいち切って繋ぎ直すなら別だけど
いちいち切って繋ぎ直すなら別だけど
41デフォルトの名無しさん (ワッチョイ 6681-PcWx)
2018/08/29(水) 01:39:42.75ID:+EFc44O50 受付嬢は一人、ご相談は各担当に回す
みたいな
みたいな
42はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5e6f-PcWx)
2018/08/29(水) 01:56:45.22ID:iljSGsda0 >>37
値が rvalue でムーブコンストラクタが存在するならばムーブされる。
(lvalue も状況によっては rvalue になることもある。)
ただし、 RVO の適用条件に叶う場合は RVO が適用されるかもしれないのでコピーもムーブもされないことは有りうる。
値が rvalue でムーブコンストラクタが存在するならばムーブされる。
(lvalue も状況によっては rvalue になることもある。)
ただし、 RVO の適用条件に叶う場合は RVO が適用されるかもしれないのでコピーもムーブもされないことは有りうる。
43デフォルトの名無しさん (ワッチョイ ea23-vl9i)
2018/08/29(水) 13:02:14.24ID:3zmBLDqv0 Hogeというクラスがあったとして、
Hoge getHoge();
という関数があるときに、
Hoge &hoge = getHoge();
と参照で受けて問題ない?
Hoge getHoge();
という関数があるときに、
Hoge &hoge = getHoge();
と参照で受けて問題ない?
44デフォルトの名無しさん (ワッチョイ 8ac3-PcWx)
2018/08/29(水) 13:31:26.82ID:8DgsmGan0 ダメ
getHoge()の返却値はprvalueなので
constのない左辺値参照で受けることはできない
右辺値参照か、
constのついた左辺値参照が必要
getHoge()の返却値はprvalueなので
constのない左辺値参照で受けることはできない
右辺値参照か、
constのついた左辺値参照が必要
45はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5e6f-PcWx)
2018/08/29(水) 15:21:15.25ID:iljSGsda046デフォルトの名無しさん (ワッチョイ 23d2-J7KC)
2018/08/30(木) 00:25:01.05ID:kCgj5iLA0 書籍スレで聞いたらスレチ(?)と言われたので質問させて下さい(m´・ω・`)m
C++で新し目(出来れば2016年以降に発売したもの)の入門書でオススメがあれば教えていただきたいのですが…
よろしくお願い致します。
C++で新し目(出来れば2016年以降に発売したもの)の入門書でオススメがあれば教えていただきたいのですが…
よろしくお願い致します。
47デフォルトの名無しさん (ワッチョイ 239f-HLp6)
2018/08/30(木) 01:05:42.98ID:RsXRD1vR0 ありません( ー`дー´)キリッ
48デフォルトの名無しさん (ワッチョイ 1dc3-Nr3p)
2018/08/30(木) 02:11:48.32ID:0LlXI/R20 Effective Modern C++は読んどいたほうがいいけど入門書じゃねえな
うーん
うーん
49デフォルトの名無しさん (ワッチョイ 05fb-PgRe)
2018/08/30(木) 02:18:12.89ID:VcrE/h+O050デフォルトの名無しさん (ワッチョイ e3c3-tpL7)
2018/08/30(木) 05:39:20.37ID:zs5ycFHj0 >>49
どこに?
どこに?
51デフォルトの名無しさん (ワッチョイ db1b-eZ+R)
2018/08/30(木) 07:30:44.91ID:3T0jr218052デフォルトの名無しさん (ワッチョイ e3c3-tpL7)
2018/08/30(木) 07:40:22.80ID:zs5ycFHj0 >>46
このへん
ISBN-10: 4797394633
日本人の著者では柴田氏の作風が俺的にはお奨め
入門だからって抜いちゃいかんことを押さえてる
ISBN-10: 4798119598
C++といえばこの人
出版が2011年とやや古めだが
プログラミングの地頭を鍛えてくれる
このへん
ISBN-10: 4797394633
日本人の著者では柴田氏の作風が俺的にはお奨め
入門だからって抜いちゃいかんことを押さえてる
ISBN-10: 4798119598
C++といえばこの人
出版が2011年とやや古めだが
プログラミングの地頭を鍛えてくれる
53デフォルトの名無しさん (ワッチョイ 7df2-tpL7)
2018/08/30(木) 08:03:54.88ID:ff0XXJ3a0 そもそも、何も知らない初心者がなんで「2016年以降」とか限定するんだ?
何か根拠があるわけでもないだろう。
何か根拠があるわけでもないだろう。
54デフォルトの名無しさん (ワッチョイ 9593-kT/R)
2018/08/30(木) 08:35:46.61ID:GbaSH31o0 古い本だと古い規格で説明されてるから、初心者には良くないって点はあるね。
#include <cstdio.h> みたいな中途半端な古さは特にやっかい。
『プログラミング言語C++』第4版を読んどきゃええじゃろ、と思ったけど
初版が2015年3月だから「古い本」だな。
#include <cstdio.h> みたいな中途半端な古さは特にやっかい。
『プログラミング言語C++』第4版を読んどきゃええじゃろ、と思ったけど
初版が2015年3月だから「古い本」だな。
55デフォルトの名無しさん (ブーイモ MMab-U3HC)
2018/08/30(木) 09:34:44.57ID:CAfiYqURM 2016年に何かあったの?
56デフォルトの名無しさん (ワッチョイ e3c3-tpL7)
2018/08/30(木) 10:11:29.31ID:zs5ycFHj0 > #include <cstdio.h>
こんな時代あったか?
こんな時代あったか?
57デフォルトの名無しさん (ワッチョイ 2334-hqRA)
2018/08/30(木) 10:17:39.13ID:ABjDmLki0 ときどきCがわかってない日本人が入門書書いてたりして余計路頭に迷わせたりする
58デフォルトの名無しさん (オッペケ Srf1-Zer2)
2018/08/30(木) 10:25:15.01ID:Usgn3Z4yr >>48
effective 「modern」 c++ って良いの?
ただの effective は良いってほぼ全員認めてるが、more とか modern はあまり勧められないしどうでも良い本なのかと思ってた
effective 「modern」 c++ って良いの?
ただの effective は良いってほぼ全員認めてるが、more とか modern はあまり勧められないしどうでも良い本なのかと思ってた
59デフォルトの名無しさん (オイコラミネオ MMeb-RPdS)
2018/08/30(木) 10:56:25.83ID:6+1XpMNpM math.hとcmathってどっちがいいの?
そもそもcmathインクルードしてもM_PI使えんしよく分からない
そもそもcmathインクルードしてもM_PI使えんしよく分からない
60デフォルトの名無しさん (ラクッペ MMd1-eZ+R)
2018/08/30(木) 10:58:18.11ID:OpvYfh8NM >>58
effectiveならいいっていう老害なんだろ
effectiveならいいっていう老害なんだろ
61デフォルトの名無しさん (ラクッペ MMd1-eZ+R)
2018/08/30(木) 11:01:43.96ID:OpvYfh8NM62デフォルトの名無しさん (ワッチョイ e3c3-tpL7)
2018/08/30(木) 11:49:16.45ID:zs5ycFHj0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★9 [ぐれ★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 ★2 [ぐれ★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 ★2 [ぐれ★]
- 高市早苗、約1ヶ月でドル円・10円円安を達成 [256556981]
- 【超絶朗報】高市早苗、月給5万円アップを突如確定させるWWWWW
- 【高市核兵器】 小泉コメ防衛大臣「民主党政権 岡田外務大臣の “非核三原則” に関する国会答弁を引き継いでいる」 政策堅持を明言 [485983549]
- するってぇと何かい?2週間前に安全を確認して輸入再開した海産物を食の安全のために輸入停止にしたってのかい?
- 【高市賃上げ】 自民党&維新の会「国会議員の給与を 月5万円アップさせる!」 今国会で歳費法改正。 月129万円→月134万円に [485983549]
- ㊗157円 [194819832]
