次スレを立てる時は本文の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:zs5ycFHj063はちみつ餃子 ◆8X2XSCHEME (ワッチョイ db6f-tpL7)
2018/08/30(木) 12:34:40.85ID:8c0RjkhV0 >>59
cmath を使うべき。
C のヘッダは互換性のために残されているだけで、積極的に使うようなものではない。
M_PI は C の規格にも C++ の規格にもないマイクロソフト独自の拡張だから、
マイクロソフトがどういう気持ちで用意しているのかは知らないけど、
_USE_MATH_DEFINES マクロを #define しておけば Visual Studio では有効になるらしいぞ。
https://msdn.microsoft.com/ja-jp/library/4hwaceh6.aspx
cmath を使うべき。
C のヘッダは互換性のために残されているだけで、積極的に使うようなものではない。
M_PI は C の規格にも C++ の規格にもないマイクロソフト独自の拡張だから、
マイクロソフトがどういう気持ちで用意しているのかは知らないけど、
_USE_MATH_DEFINES マクロを #define しておけば Visual Studio では有効になるらしいぞ。
https://msdn.microsoft.com/ja-jp/library/4hwaceh6.aspx
64デフォルトの名無しさん (ワッチョイ e3c3-tpL7)
2018/08/30(木) 12:46:26.01ID:zs5ycFHj0 C++17でcmathが大幅強化されたね
ISO/IEC29124の特殊関数を取り入れた
ISO/IEC29124の特殊関数を取り入れた
65デフォルトの名無しさん (スップ Sd43-ePit)
2018/08/30(木) 12:52:55.39ID:5ZKhK1u9d66デフォルトの名無しさん (ワッチョイ 2312-rkYf)
2018/08/30(木) 13:14:44.70ID:ypFQk8hw067デフォルトの名無しさん (ブーイモ MMab-zBrR)
2018/08/30(木) 13:37:08.32ID:ZM/Yh9noM 柴田の本は昔から悪書扱いされてる
あえて読むことはないと思うわ
あえて読むことはないと思うわ
68デフォルトの名無しさん (ワッチョイ e3c3-tpL7)
2018/08/30(木) 13:37:55.22ID:zs5ycFHj0 だから読んでないわけか
69デフォルトの名無しさん (ブーイモ MMab-zBrR)
2018/08/30(木) 13:58:51.87ID:ZM/Yh9noM 昔は読んでたよ
20年以上前かな
いまでもjavaやc++のやつは図書館でたまにペラペラしてみるけど
読みづらくて全然合わないと感じる
同じジャンルで山田祥寛の本があったらそっちを読む
20年以上前かな
いまでもjavaやc++のやつは図書館でたまにペラペラしてみるけど
読みづらくて全然合わないと感じる
同じジャンルで山田祥寛の本があったらそっちを読む
70デフォルトの名無しさん (ワッチョイ e3c3-tpL7)
2018/08/30(木) 14:09:38.78ID:zs5ycFHj0 つまり読んでないってことだろ
図書館でペラペラってなぜそんなことをするんだ
C++を20年以上やってるんだろ
図書館でペラペラってなぜそんなことをするんだ
C++を20年以上やってるんだろ
71デフォルトの名無しさん (ワッチョイ cdd2-tpL7)
2018/08/30(木) 14:38:25.23ID:A7u5khVs0 人にC++言語について教える時に、人口に膾炙した書籍の表現を使うのが無難だからでしょ。
7254 (ワッチョイ 9593-kT/R)
2018/08/30(木) 15:34:47.96ID:GbaSH31o0 >>56 すまん <cstdio.h> は変ね。<stdio.h> と <cstdio> が混ざってしまった。
<cstdio.h> というヘッダが存在する処理系もあるか知れんけど、
#include で使えと教えてる本はないだろうな。
主旨は「半端に古い本だと」で変わらないけど、良い例が出せんわ。
<cstdio.h> というヘッダが存在する処理系もあるか知れんけど、
#include で使えと教えてる本はないだろうな。
主旨は「半端に古い本だと」で変わらないけど、良い例が出せんわ。
73デフォルトの名無しさん (ワッチョイ e3c3-tpL7)
2018/08/30(木) 15:49:06.15ID:zs5ycFHj074デフォルトの名無しさん (ワッチョイ 037e-tpL7)
2018/08/30(木) 16:04:11.38ID:pLYrs11p0 質問なんだがコンパイル時間の観点から見て、ヘッダをインクルードするときは必要でない限りcppファイルでincludeするべき?
75デフォルトの名無しさん (ワッチョイ e3c3-tpL7)
2018/08/30(木) 16:13:39.13ID:zs5ycFHj0 #includeのネストを避けろということか?
そう主張する連中もいるが、俺は反対
そう主張する連中もいるが、俺は反対
76はちみつ餃子 ◆8X2XSCHEME (ワッチョイ db6f-tpL7)
2018/08/30(木) 16:18:52.75ID:8c0RjkhV0 >>74
ちょっと質問の意図がよくわかんないんだけど、逆に言えば
「ヘッダファイル (*.h) が他のヘッダファイルを include するのはコンパイル時間を増大させるか?」という意味?
あんまり関係ないよ。
よっぽど大きいプロジェクト (gcc とか) ならちょっとしたことで結構な差が出ることは無いとは言えないけど、
それでもプリコンパイルヘッダとかを活用すればだいぶん時間は短縮できるし、
更に高速化したいならキャッシュサーバを使うコンパイラもある。
https://github.com/yrnkrn/zapcc
・ 小さいプロジェクトでは気になるほどの差はない
・ 大きいプロジェクトではツールで解決しよう
ちょっと質問の意図がよくわかんないんだけど、逆に言えば
「ヘッダファイル (*.h) が他のヘッダファイルを include するのはコンパイル時間を増大させるか?」という意味?
あんまり関係ないよ。
よっぽど大きいプロジェクト (gcc とか) ならちょっとしたことで結構な差が出ることは無いとは言えないけど、
それでもプリコンパイルヘッダとかを活用すればだいぶん時間は短縮できるし、
更に高速化したいならキャッシュサーバを使うコンパイラもある。
https://github.com/yrnkrn/zapcc
・ 小さいプロジェクトでは気になるほどの差はない
・ 大きいプロジェクトではツールで解決しよう
77デフォルトの名無しさん (ワッチョイ e3c3-tpL7)
2018/08/30(木) 16:23:45.00ID:zs5ycFHj0 コンパイラは可能な限り高性能なマシンで使うべし
78デフォルトの名無しさん (ワッチョイ 037e-tpL7)
2018/08/30(木) 16:52:55.72ID:pLYrs11p0 例えばstd::stringをhoge.hでは使わずhoge.cppのみで使われている場合
hoge.hで#include<string>と書くと、他のファイルからhoge.hをincludeしたとき無駄が出るはず
だからhoge.cppで#include<string>と書いた方がいいのが、それとも些細な差なので全部hoge.hにぶち込んでもいいのかということ
hoge.hで#include<string>と書くと、他のファイルからhoge.hをincludeしたとき無駄が出るはず
だからhoge.cppで#include<string>と書いた方がいいのが、それとも些細な差なので全部hoge.hにぶち込んでもいいのかということ
79デフォルトの名無しさん (ワッチョイ e3c3-tpL7)
2018/08/30(木) 16:55:06.24ID:zs5ycFHj0 なるほど、実装で使うだけで宣言にはいらないものか
だったらhoge.cppで#includeしたほうがいいね
だったらhoge.cppで#includeしたほうがいいね
80デフォルトの名無しさん (ワッチョイ fd61-XEe6)
2018/08/30(木) 17:19:10.16ID:X06N8JK80 http://www.geekpage.jp/programming/linux-network/select.php
なんかソケットごとに違うポートを割り振るものだと思ってたのですが、
listen(srcSocket, 1);//第二引数はクライアント上限数
この第2因数をいじったら同じポートでも普通に接続できました。
このまま気にせずselect処理書いていっても大丈夫ですかね...?
通信関係あまり知らないのでバグったりするとどうなるか分からずちょっと怖いです。
相手用のソケットは
int dstsocket[5]の様な感じで作って中身は全部一緒です
なんかソケットごとに違うポートを割り振るものだと思ってたのですが、
listen(srcSocket, 1);//第二引数はクライアント上限数
この第2因数をいじったら同じポートでも普通に接続できました。
このまま気にせずselect処理書いていっても大丈夫ですかね...?
通信関係あまり知らないのでバグったりするとどうなるか分からずちょっと怖いです。
相手用のソケットは
int dstsocket[5]の様な感じで作って中身は全部一緒です
81はちみつ餃子 ◆8X2XSCHEME (ワッチョイ db6f-tpL7)
2018/08/30(木) 17:49:39.07ID:8c0RjkhV0 >>78
その場合だと .cpp に書いた方が当然良い。
その場合だと .cpp に書いた方が当然良い。
82デフォルトの名無しさん (ワッチョイ 0beb-zBrR)
2018/08/30(木) 18:56:44.69ID:aIx07XQj0 プリコンパイル済みヘッダを、いちいち書かなきゃいけなくなるのがあれだから使わない方がいいと言われたことがある
なぜそれでコンパイルが遅いって文句言ってるのか分からない・・・
なぜそれでコンパイルが遅いって文句言ってるのか分からない・・・
83デフォルトの名無しさん (ワッチョイ 9504-8dGN)
2018/08/30(木) 21:34:38.22ID:A5r5+/4B0 https://ezoeryou.github.io/cpp17book/
辞書にするならこれ。役に立ったら書籍版買ってあげよう。
辞書にするならこれ。役に立ったら書籍版買ってあげよう。
84デフォルトの名無しさん (ワッチョイ 0580-rkYf)
2018/08/30(木) 22:17:19.27ID:/0YXnEsV0 書いても大丈夫だが、そういうやりかたにするならselectでブロックしないように注意したほうがいい
selectをブロックしたままの状態にすると、当然、そのあと永遠にacceptされない
きっとスレッドにしたほうが簡単
selectをブロックしたままの状態にすると、当然、そのあと永遠にacceptされない
きっとスレッドにしたほうが簡単
85デフォルトの名無しさん (ワッチョイ 3de3-zBrR)
2018/08/30(木) 23:08:40.56ID:yw5JoOBN0 >>78
hoge.hでstd::stringを使ってないのに#include<string>を書く、という発想が理解できない
#include<string>はstd::stringを使ってるところに書く、使ってないところには書かない、でいいじゃん
変更があって使わなくなったのに#includeは残ってるのがありがちで嫌なところ
静的解析とかで指摘して欲しい
hoge.hでstd::stringを使ってないのに#include<string>を書く、という発想が理解できない
#include<string>はstd::stringを使ってるところに書く、使ってないところには書かない、でいいじゃん
変更があって使わなくなったのに#includeは残ってるのがありがちで嫌なところ
静的解析とかで指摘して欲しい
86デフォルトの名無しさん (ワッチョイ 2333-zBrR)
2018/08/30(木) 23:48:27.87ID:Eu7R++g90 >>80 ひきすう
87デフォルトの名無しさん (ワッチョイ 15b3-lQkG)
2018/08/31(金) 14:08:47.35ID:KIctO/Rq0 >>80
変な心配せずに書いて覚えた方が早いよ
あと最初TCPって言ってたよね?
もしTCPで通信ごとにポート変えなきゃいけないなら、Yahoo見に行く時毎回ポート変えてんの?
HTTPは80番って決まってるやろ?
あと何のためにその第二引数があるの?
変な心配せずに書いて覚えた方が早いよ
あと最初TCPって言ってたよね?
もしTCPで通信ごとにポート変えなきゃいけないなら、Yahoo見に行く時毎回ポート変えてんの?
HTTPは80番って決まってるやろ?
あと何のためにその第二引数があるの?
88デフォルトの名無しさん (ワッチョイ 0be8-QDks)
2018/08/31(金) 19:45:34.91ID:3sSjwoo80 恥ずかしながら char と signed char が違うものだって知りませんでした…(独り言)
89デフォルトの名無しさん (ワッチョイ 2334-hqRA)
2018/08/31(金) 19:48:20.37ID:+YiNyVyB0 処理系による
>>88
signed char とか unsigned char とか明言されず、ただ char としか書いていない場合、
その char が signed char になるのか、それとも unsigned char なのかは
「処理系依存」・コンパイラ依存だった、という経緯が C の時代からあったのでした
「signed char でも unsigned char でもない『「alternative な char』がある」
という意味ではないのです
"alternative char"…なんかだ魅惑される響きだと感じ入ってしまうのは、私だけですか…
signed char とか unsigned char とか明言されず、ただ char としか書いていない場合、
その char が signed char になるのか、それとも unsigned char なのかは
「処理系依存」・コンパイラ依存だった、という経緯が C の時代からあったのでした
「signed char でも unsigned char でもない『「alternative な char』がある」
という意味ではないのです
"alternative char"…なんかだ魅惑される響きだと感じ入ってしまうのは、私だけですか…
91はちみつ餃子 ◆8X2XSCHEME (ワッチョイ db6f-tpL7)
2018/08/31(金) 20:24:19.94ID:NWzNDPzW092デフォルトの名無しさん (ワッチョイ 7df2-tpL7)
2018/08/31(金) 20:30:14.89ID:LcHwdHfr0 ?
charとsigned charとunsigned charは全部別の型だろ。
charとsigned charとunsigned charは全部別の型だろ。
93はちみつ餃子 ◆8X2XSCHEME (ワッチョイ db6f-tpL7)
2018/08/31(金) 20:39:51.15ID:NWzNDPzW0 char は (型システム的には) signed char でも unsigned char でもないけど、
符号付きか符号なしのどちらかではあり、
その表現は処理系によって signed char か unsigned char のどちらかと実質的に等しいことになってる。
だいたいは暗黙の型変換が自然にうまいことやってくれるんだけど、
C++ だとオーバーロードの解決にかかわるところとかややこしいな。
符号付きか符号なしのどちらかではあり、
その表現は処理系によって signed char か unsigned char のどちらかと実質的に等しいことになってる。
だいたいは暗黙の型変換が自然にうまいことやってくれるんだけど、
C++ だとオーバーロードの解決にかかわるところとかややこしいな。
94デフォルトの名無しさん (ワッチョイ 037e-tpL7)
2018/08/31(金) 20:40:27.43ID:fKtAGZM00 std::byteとかいうゴミはどう使えばいいんだ?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★3 [ぐれ★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 青銅聖闘士のパンチは音速←わかる 白銀聖闘士はその数倍←まぁわかる 黄金聖闘士は光速←は?
- 4時だから窓から4回ちんこ出した
- クマどもが冬眠拒否
- さわやかって
- 紅しょうが大量に入れるやつwwwwwwwww
- そろそろみんなが忘れてそうなこと
