13/11/10 14:31:34.81
エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。
※sage禁止です(と代々スレに書いてありますが自己判断で)。
【前スレ】
【初心者歓迎】C/C++室 Ver.87【環境依存OK】
スレリンク(tech板)
◆ソースのインデントについて
半角空白やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのも手ですが直接貼る場合は、
全角空白か に置換すると見栄えだけはよくなります。
【アップローダー】(質問が長い時はココ使うと便利)
URLリンク(codepad.org) (コンパイルもできるし出力結果も得られる[]privateをチェック)
URLリンク(ideone.com) (時間帯によってはcodepadが重い事があるのでここも利用)
【重要】
hogeは禁止します、使用しないでください。
万が一hogeが書き込まれても、スルーしてください。
相手にするとあなたも荒らしと同じ扱いになります。
なお、hogeはNGワードに追加しておくことが強く推奨されています。
2:デフォルトの名無しさん
13/11/10 14:37:50.32
>>1
乙
3:デフォルトの名無しさん
13/11/10 14:43:16.36
>>1
乙
4:デフォルトの名無しさん
13/11/10 14:49:32.45
もう88スレ目か
5:デフォルトの名無しさん
13/11/10 19:59:42.71
hoge
6:デフォルトの名無しさん
13/11/10 20:22:38.46
hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge
7:デフォルトの名無しさん
13/11/10 20:25:08.59
hage hage hage hage hage hage hage hage hage hage hage hage hage
hage hage hage hage hage hage hage hage hage hage hage hage hage
ここはhageOKスレ
8:デフォルトの名無しさん
13/11/10 20:26:49.27
C++ってCを混在させて書けるからついつい混在させてしまうんだけど
混在させないほうがいいのかね?
9:デフォルトの名無しさん
13/11/10 20:54:45.28
>>8
元々Cで書かれてるとかCで書かなきゃいけないコードのテストとかなら混在するのは分かるが、
それ以外で混在さす意味が分からない
単に拡張子を.cppに変えればいいんでないの
10:デフォルトの名無しさん
13/11/10 21:09:05.86
>>9
CだとmallocだけどC++だとnewじゃん
11:デフォルトの名無しさん
13/11/10 21:13:18.73
キャストが必須か否かとか色々ある ってのを何処かで書いたなー
12:デフォルトの名無しさん
13/11/10 21:47:45.84
>>10
C++でもmalloc使えるし
URLリンク(ideone.com)
13:デフォルトの名無しさん
13/11/10 21:50:07.88
>>1
hogeおつ
14:デフォルトの名無しさん
13/11/10 21:50:57.76
mallocしたのをdeleteしたりとかしなきゃなんでもいい
15:デフォルトの名無しさん
13/11/10 22:14:25.31
個人的な思い込みに基づいて"hoge"の使用に過剰な反応をする人がこのスレに住み着いていて、
最近は「hoge禁止」がスレ住人の総意であるかのように見せる工作を繰り返しているようです。
あまり気にしないでやってください。
16:デフォルトの名無しさん
13/11/10 23:44:46.44
char *foo,*bar,*baz;
foo = (char*)malloc( 1024 );
bar = new char[ 1024 ];
baz = foo;
foo = bar;
bar = baz;
って入れ替えとかできるのかね
この場合ってfooはどっちで解放するんだ?
free?delete?
17:デフォルトの名無しさん
13/11/10 23:51:28.26
ポインタはアドレスの値でしかない
したがって入れ替えたなら、freeおよびdeleteするポインタも入れ替わる
18:デフォルトの名無しさん
13/11/11 00:46:23.37
>>1 乙
前スレの時は一人で一日に100レスぐらい自演して
949で次スレ立てた粘着がいたから
よくやった
19:デフォルトの名無しさん
13/11/11 01:04:41.87
URLリンク(stackoverflow.com)
の上から3つ目(評価が24)の投稿にあるソースについてですが
その下のコメントにメモリを多く使うから
r[wh]とg[wh]とb[wh]をuint8_tにした方がいいとあります
型がintだったのでintVint8_tにしましたがコンパイルエラーになってしまいます
uint8_tにするにはどうしたらいいのでしょうか?
20:デフォルトの名無しさん
13/11/11 01:12:57.10
そりゃintVint8_tなんて存在しないからな
21:デフォルトの名無しさん
13/11/11 01:14:37.75
#include <stdint.h>
uint8_t ~
22:デフォルトの名無しさん
13/11/11 05:35:35.14
┃│衛││自│ || ┃ >>1と自衛隊乙
┃│隊││衛│ || ┃
┃└─┘│隊│ || │ ┃
┃┌─┐└─┘ || │ ┃
┃├─┤┌─┐ || ┃
┃│自│├─┤ || ┃
┃│衛││自│ || ┃
┃│隊││衛│ || │ ┃
┃└─┘│隊│ || │ ┃
┃ /\└─┘ || ┃
..━┛/俺/┌─┐ || ┃
\/ ├─┤ || ┃
..━┓┌─┐│自│ || │ ┃
┃├─┤│衛│ || │ ┃
┃│自││隊│ || ┃
┃│衛│└─┘ || ┃
┃│隊│┌─┐ || ┃
┃└─┘├─┤ || │ ┃
┃┌─┐│自│ || │ ┃
┃├─┤│衛│ || ┃
┃│自││隊│ || ┃
┃│衛│└─┘ || ┃
┃│隊│┌─┐ || │ ┃
┃└─┘├─┤ || │ ┃
23:デフォルトの名無しさん
13/11/11 05:37:59.99
>>22
何かあっても無敵だな
24:デフォルトの名無しさん
13/11/11 09:17:59.47
陸にしろ空にしろ、公道運行で右側埋めることしないハズだけど。。。
25:デフォルトの名無しさん
13/11/11 09:44:26.14
>>22 の逃亡を防ぐのが目的だから仕方ない
26:デフォルトの名無しさん
13/11/11 12:42:50.70
すみません。色々とプログラムをしてきたんですが、JavaGUI、Qt、WindowsAPIとやってきましたが、
JavaGUIは面白みがない。Qtはバージョン毎にソースを改変する必要がかなりある。
と嫌な部分がけっこうあるので、やはりWindowsAPIがいいなぁと思っているんですが、
GUIコンポーネントの少なさはなんとかなりませんか?COMとかActiveXとか良く知らないのですが
そういうのなら、たくさんGUIコンポーネントがあるんでしょうか?それともどこかのWebにGUI部品を載せているところがあるのでしょうか?
.NETは嫌です。
27:デフォルトの名無しさん
13/11/11 12:59:01.28
>>26
C++Builderやれば。
28:デフォルトの名無しさん
13/11/11 14:05:20.93
GUIコンポーネントの種類なんてどれもそう変わらないと思うけどなあ
29:デフォルトの名無しさん
13/11/11 14:10:06.09
無かったら自分で作ってる
30:デフォルトの名無しさん
13/11/11 14:31:11.61
あれば使う
なければ作る
それがプログラマ
何も作らない
ブログに短いコードを書いて自己満足
それがブログラマ
31:デフォルトの名無しさん
13/11/11 16:36:55.31
>>1
> ※sage禁止です(と代々スレに書いてありますが自己判断で)。
代々? Ver.88という事だが、いつから代々なんだ? ねつ造すんな。
精神異常者のアンチhoge厨は死ね。
32:デフォルトの名無しさん
13/11/11 16:42:06.58
質問では sageずに質問する。 回答者側は随意に。
こういうのあったよ
33:デフォルトの名無しさん
13/11/11 18:41:15.40
>>26
今はOpenGLが主流だよ
34:デフォルトの名無しさん
13/11/11 21:05:17.00
WindowsAPIなんて、碌なテーブルもない。
35:デフォルトの名無しさん
13/11/11 22:16:07.06
c++の文法学べるサイト、どこかオススメあったら教えて下さい(>_<)
36:デフォルトの名無しさん
13/11/11 22:18:32.96
無限ループの関数を別スレッドにしてミューテックスで同期しようとしたけど、
デッドロックになったとか例外が出る
何とかならんでしょうか
#include <thread>
#include <mutex>
#include <iostream>
#include <windows.h>
std::mutex mutex;
void func()
{
for (;;) {
mutex.lock();
std::cout << "func." << std::endl;
}
}
int main()
{
mutex.lock();
std::thread thread(func);
std::cout << "mutex unlock." << std::endl;
mutex.unlock();
Sleep(1);
thread.detach();
std::cout << "detached." <<std::endl;
}
37:デフォルトの名無しさん
13/11/11 22:20:36.04
自分用にローカルプロキシ作りたいんですがサーバーソフトとしてポートを利用(接続待ち待機、受信等)する方法を教えてください
VC++2005の製品版使ってますがExpressで可能ならそれ以降のバージョンでも
.netのマネージコードではなくネイティブコードでお願いします
38:デフォルトの名無しさん
13/11/11 22:26:34.95
>>36
中身は読んでないがとりあえずrecursive_mutex使え。
あと自分でlock/unlockを呼び出すな。lock_guard使え。
39:デフォルトの名無しさん
13/11/11 22:30:28.94
>>36
for (;;) {
mutex.lock();
std::cout << "func." << std::endl;
}
なんだこのKUSOコードは死ね
40:デフォルトの名無しさん
13/11/11 22:51:33.85
>>37
WSAStartupしておいて、あとは普通のBSD形式のソケットAPIで終わり。
socket、bind、listen、accept、recv、send、closesocket。
あとselectとかshutdownとかsetsockoptとか。
WSAなんちゃらって高機能なAPIもあるけど、最低限BSD形式ので十分。
41:デフォルトの名無しさん
13/11/11 22:55:18.53
>40
ありがとうございます
それらを取っ掛かりに調べてみます
42:デフォルトの名無しさん
13/11/11 23:47:22.87
>>39
ワラタw
>>36
もうちょっとマルチスレッドとミューテクスについて勉強したほうがいいと思う
43:デフォルトの名無しさん
13/11/12 00:25:10.23
>>36
hoge本で勉強したって感じだな
44:デフォルトの名無しさん
13/11/12 00:40:43.10
>>40
チャットみたいに文字列を送受信したい場合もそれでいける?
他に適した方法あるならキーワードだけでも教えて欲しい
45:デフォルトの名無しさん
13/11/12 00:50:58.94
async()使った方が楽じゃん
46:デフォルトの名無しさん
13/11/12 01:14:53.46
>>44
いける。けどクライアントはconnectやIPアドレスの解決でgethostbynameとかも使う。
selectに含まれる話だけど、ブロッキングモードと非ブロッキングモード、スレッドセーフについて調べとくと良い。
マルチスレッドを積極的に使えば非ブロッキングモードもselectは不要だがスレッドセーフを意識する必要が増える。
selectを積極的に使えば非ブロッキングモードもマルチスレッドは不要…なのが理想だがWindowsの場合は難しい。
ウィンドウメッセージと、各種同期オブジェクトと、ソケット同期関連が混在してしまっている。
ソケットを直接触らない方法は色々あるけどお勧めとかは知らんので他の人頼んだ。
47:デフォルトの名無しさん
13/11/12 02:12:15.70
つ boost.asio
48:デフォルトの名無しさん
13/11/12 02:38:13.68
asioはWindowsではうまく動くんだけど、Linuxではうまく動かないから
ダメだわ。
色々考えてみたんだけど、Linuxで非同期はかなり無理あるわ。
自分でasioっぽいものをつくろうとか思ってもasioの二の舞なるわ。
あと、一つのプロセスがあいてるコアをできるだけ使いたいとか無理っぽかった。
これは厳しいわ。
公平なスケジューリングと言えば聞こえがいいんだけど、これメニーコアとかなったら
どうするんだろね。
こういう部分はWindowsのほうが得意っぽかった。
だから何って話だけど。
49:デフォルトの名無しさん
13/11/12 02:40:29.89
ああ、ちょっと誤解を招くな。
非同期が無理じゃなくて、非同期を抽象化するのが無理ぽかった。
50:デフォルトの名無しさん
13/11/12 02:45:14.66
Windows限定だったらasioは超お勧めだよ。
IOCP使ってくれるんで良い感じ。