【初心者歓迎】C/C++室 Ver.88【環境依存OK】
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2013/11/10(日) 14:31:34.81ただしその場合、質問者は必ず環境を書きましょう。
※sage禁止です(と代々スレに書いてありますが自己判断で)。
【前スレ】
【初心者歓迎】C/C++室 Ver.87【環境依存OK】
http://toro.2ch.net/test/read.cgi/tech/1382185936/
◆ソースのインデントについて
半角空白やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのも手ですが直接貼る場合は、
全角空白か に置換すると見栄えだけはよくなります。
【アップローダー】(質問が長い時はココ使うと便利)
http://codepad.org/ (コンパイルもできるし出力結果も得られる[]privateをチェック)
http://ideone.com/ (時間帯によってはcodepadが重い事があるのでここも利用)
【重要】
hogeは禁止します、使用しないでください。
万が一hogeが書き込まれても、スルーしてください。
相手にするとあなたも荒らしと同じ扱いになります。
なお、hogeはNGワードに追加しておくことが強く推奨されています。
0002デフォルトの名無しさん
2013/11/10(日) 14:37:50.32乙
0003デフォルトの名無しさん
2013/11/10(日) 14:43:16.36乙
0004デフォルトの名無しさん
2013/11/10(日) 14:49:32.450005デフォルトの名無しさん
2013/11/10(日) 19:59:42.710006デフォルトの名無しさん
2013/11/10(日) 20:22:38.460007デフォルトの名無しさん
2013/11/10(日) 20:25:08.59hage hage hage hage hage hage hage hage hage hage hage hage hage
ここはhageOKスレ
0008デフォルトの名無しさん
2013/11/10(日) 20:26:49.27混在させないほうがいいのかね?
0009デフォルトの名無しさん
2013/11/10(日) 20:54:45.28元々Cで書かれてるとかCで書かなきゃいけないコードのテストとかなら混在するのは分かるが、
それ以外で混在さす意味が分からない
単に拡張子を.cppに変えればいいんでないの
0010デフォルトの名無しさん
2013/11/10(日) 21:09:05.86CだとmallocだけどC++だとnewじゃん
0011デフォルトの名無しさん
2013/11/10(日) 21:13:18.730012デフォルトの名無しさん
2013/11/10(日) 21:47:45.84C++でもmalloc使えるし
http://ideone.com/4ZY6we
0013デフォルトの名無しさん
2013/11/10(日) 21:50:07.88hogeおつ
0014デフォルトの名無しさん
2013/11/10(日) 21:50:57.760015デフォルトの名無しさん
2013/11/10(日) 22:14:25.31最近は「hoge禁止」がスレ住人の総意であるかのように見せる工作を繰り返しているようです。
あまり気にしないでやってください。
0016デフォルトの名無しさん
2013/11/10(日) 23:44:46.44foo = (char*)malloc( 1024 );
bar = new char[ 1024 ];
baz = foo;
foo = bar;
bar = baz;
って入れ替えとかできるのかね
この場合ってfooはどっちで解放するんだ?
free?delete?
0017デフォルトの名無しさん
2013/11/10(日) 23:51:28.26したがって入れ替えたなら、freeおよびdeleteするポインタも入れ替わる
0018デフォルトの名無しさん
2013/11/11(月) 00:46:23.37前スレの時は一人で一日に100レスぐらい自演して
949で次スレ立てた粘着がいたから
よくやった
0019デフォルトの名無しさん
2013/11/11(月) 01:04:41.87の上から3つ目(評価が24)の投稿にあるソースについてですが
その下のコメントにメモリを多く使うから
r[wh]とg[wh]とb[wh]をuint8_tにした方がいいとあります
型がintだったのでintVint8_tにしましたがコンパイルエラーになってしまいます
uint8_tにするにはどうしたらいいのでしょうか?
0020デフォルトの名無しさん
2013/11/11(月) 01:12:57.100021デフォルトの名無しさん
2013/11/11(月) 01:14:37.75uint8_t 〜
0022デフォルトの名無しさん
2013/11/11(月) 05:35:35.14┃│隊││衛│ || ┃
┃└─┘│隊│ || │ ┃
┃┌─┐└─┘ || │ ┃
┃├─┤┌─┐ || ┃
┃│自│├─┤ || ┃
┃│衛││自│ || ┃
┃│隊││衛│ || │ ┃
┃└─┘│隊│ || │ ┃
┃ /\└─┘ || ┃
..━┛/俺/┌─┐ || ┃
\/ ├─┤ || ┃
..━┓┌─┐│自│ || │ ┃
┃├─┤│衛│ || │ ┃
┃│自││隊│ || ┃
┃│衛│└─┘ || ┃
┃│隊│┌─┐ || ┃
┃└─┘├─┤ || │ ┃
┃┌─┐│自│ || │ ┃
┃├─┤│衛│ || ┃
┃│自││隊│ || ┃
┃│衛│└─┘ || ┃
┃│隊│┌─┐ || │ ┃
┃└─┘├─┤ || │ ┃
0023デフォルトの名無しさん
2013/11/11(月) 05:37:59.99何かあっても無敵だな
0024デフォルトの名無しさん
2013/11/11(月) 09:17:59.470025デフォルトの名無しさん
2013/11/11(月) 09:44:26.140026デフォルトの名無しさん
2013/11/11(月) 12:42:50.70JavaGUIは面白みがない。Qtはバージョン毎にソースを改変する必要がかなりある。
と嫌な部分がけっこうあるので、やはりWindowsAPIがいいなぁと思っているんですが、
GUIコンポーネントの少なさはなんとかなりませんか?COMとかActiveXとか良く知らないのですが
そういうのなら、たくさんGUIコンポーネントがあるんでしょうか?それともどこかのWebにGUI部品を載せているところがあるのでしょうか?
.NETは嫌です。
0027デフォルトの名無しさん
2013/11/11(月) 12:59:01.28C++Builderやれば。
0028デフォルトの名無しさん
2013/11/11(月) 14:05:20.930029デフォルトの名無しさん
2013/11/11(月) 14:10:06.090030デフォルトの名無しさん
2013/11/11(月) 14:31:11.61なければ作る
それがプログラマ
何も作らない
ブログに短いコードを書いて自己満足
それがブログラマ
0031デフォルトの名無しさん
2013/11/11(月) 16:36:55.31> ※sage禁止です(と代々スレに書いてありますが自己判断で)。
代々? Ver.88という事だが、いつから代々なんだ? ねつ造すんな。
精神異常者のアンチhoge厨は死ね。
0032デフォルトの名無しさん
2013/11/11(月) 16:42:06.58こういうのあったよ
0033デフォルトの名無しさん
2013/11/11(月) 18:41:15.40今はOpenGLが主流だよ
0034デフォルトの名無しさん
2013/11/11(月) 21:05:17.000035デフォルトの名無しさん
2013/11/11(月) 22:16:07.060036デフォルトの名無しさん
2013/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;
}
0037デフォルトの名無しさん
2013/11/11(月) 22:20:36.04VC++2005の製品版使ってますがExpressで可能ならそれ以降のバージョンでも
.netのマネージコードではなくネイティブコードでお願いします
0038デフォルトの名無しさん
2013/11/11(月) 22:26:34.95中身は読んでないがとりあえずrecursive_mutex使え。
あと自分でlock/unlockを呼び出すな。lock_guard使え。
0039デフォルトの名無しさん
2013/11/11(月) 22:30:28.94for (;;) {
mutex.lock();
std::cout << "func." << std::endl;
}
なんだこのKUSOコードは死ね
0040デフォルトの名無しさん
2013/11/11(月) 22:51:33.85WSAStartupしておいて、あとは普通のBSD形式のソケットAPIで終わり。
socket、bind、listen、accept、recv、send、closesocket。
あとselectとかshutdownとかsetsockoptとか。
WSAなんちゃらって高機能なAPIもあるけど、最低限BSD形式ので十分。
0041デフォルトの名無しさん
2013/11/11(月) 22:55:18.53ありがとうございます
それらを取っ掛かりに調べてみます
0043デフォルトの名無しさん
2013/11/12(火) 00:25:10.23hoge本で勉強したって感じだな
0044デフォルトの名無しさん
2013/11/12(火) 00:40:43.10チャットみたいに文字列を送受信したい場合もそれでいける?
他に適した方法あるならキーワードだけでも教えて欲しい
0045デフォルトの名無しさん
2013/11/12(火) 00:50:58.940046デフォルトの名無しさん
2013/11/12(火) 01:14:53.46いける。けどクライアントはconnectやIPアドレスの解決でgethostbynameとかも使う。
selectに含まれる話だけど、ブロッキングモードと非ブロッキングモード、スレッドセーフについて調べとくと良い。
マルチスレッドを積極的に使えば非ブロッキングモードもselectは不要だがスレッドセーフを意識する必要が増える。
selectを積極的に使えば非ブロッキングモードもマルチスレッドは不要…なのが理想だがWindowsの場合は難しい。
ウィンドウメッセージと、各種同期オブジェクトと、ソケット同期関連が混在してしまっている。
ソケットを直接触らない方法は色々あるけどお勧めとかは知らんので他の人頼んだ。
0047デフォルトの名無しさん
2013/11/12(火) 02:12:15.700048デフォルトの名無しさん
2013/11/12(火) 02:38:13.68ダメだわ。
色々考えてみたんだけど、Linuxで非同期はかなり無理あるわ。
自分でasioっぽいものをつくろうとか思ってもasioの二の舞なるわ。
あと、一つのプロセスがあいてるコアをできるだけ使いたいとか無理っぽかった。
これは厳しいわ。
公平なスケジューリングと言えば聞こえがいいんだけど、これメニーコアとかなったら
どうするんだろね。
こういう部分はWindowsのほうが得意っぽかった。
だから何って話だけど。
0049デフォルトの名無しさん
2013/11/12(火) 02:40:29.89非同期が無理じゃなくて、非同期を抽象化するのが無理ぽかった。
0050デフォルトの名無しさん
2013/11/12(火) 02:45:14.66IOCP使ってくれるんで良い感じ。
0051デフォルトの名無しさん
2013/11/12(火) 12:47:45.58標準入出力でソケット通信できて簡単
0052デフォルトの名無しさん
2013/11/12(火) 13:27:21.232000年以前に雑誌で話題になってたような懐かしい話題だな
0053デフォルトの名無しさん
2013/11/12(火) 18:07:44.4315年くらい前にはやったね
そういうクソなサーバープログラムを作る奴は死んだ方がいい
0054デフォルトの名無しさん
2013/11/13(水) 04:45:39.040055デフォルトの名無しさん
2013/11/13(水) 14:14:45.24国際化ドメイン名はUnicode突っ込んでも動かないからな?
正規化したりPunycode使ったり色々処理しないとダメ。
0056デフォルトの名無しさん
2013/11/13(水) 23:23:27.49Visual C++でwchar_tをcharに変換することなく使いたい
ってだけでは?
0057デフォルトの名無しさん
2013/11/13(水) 23:46:31.41念のためだよ。
どうせWCHAR受け入れてたら(受け入れて無くても)、
そのまま放り込んで動かん言う奴はいるだろうし。
0058デフォルトの名無しさん
2013/11/14(木) 01:54:40.98gethostnameはただ単にローカルホスト名を得るだけだろ
突っ込む・wchar_tをcharに変換・放り込む
どれも的外れ
0059デフォルトの名無しさん
2013/11/14(木) 02:23:50.88!!bynameの方だとばっかり思ってたわ、すまんかった。
0060デフォルトの名無しさん
2013/11/14(木) 02:55:27.06そうだとしても
GetAddrInfo使えでいいんじゃね
0061デフォルトの名無しさん
2013/11/14(木) 04:38:48.340062デフォルトの名無しさん
2013/11/14(木) 04:56:02.60inet_atonのUnicode版はWSAStringToAddress
msdnにはinet_atonが載ってないけど
inet_ntoaのUnicode版から推測できるよ
0063デフォルトの名無しさん
2013/11/14(木) 09:21:50.310064デフォルトの名無しさん
2013/11/14(木) 15:17:43.7301 02 03 04をntohsやってもhtonsやっても
結果は04 03 02 01になるんだから
0065デフォルトの名無しさん
2013/11/14(木) 15:23:12.18↑ ↓
その環境でのバイトオーダー(環境依存)
0066デフォルトの名無しさん
2013/11/14(木) 15:29:23.28ばっかだなー
ソース見た瞬間に伝わるだろ
この処理でホストオーダーをネットオーダーに変えたんだと一目瞭然に
0067デフォルトの名無しさん
2013/11/14(木) 18:15:40.97『あれ? 仕様書にこの並びで書いてありますよね?』
『・・・』
0068デフォルトの名無しさん
2013/11/14(木) 19:38:54.16将来変換と逆変換が異なるCPUが現れるまさかの事態に備えて
2341とか
0069デフォルトの名無しさん
2013/11/14(木) 21:04:19.95関数名見ないと戻り値と引数の値が何を指しているのかわからないようなコード書いてんのか?
ばっかだなー
0070デフォルトの名無しさん
2013/11/14(木) 21:22:33.62君の場合はどう書くの?
0071デフォルトの名無しさん
2013/11/14(木) 22:21:34.27ミドルエンディアンて既に有ったよ。
0072デフォルトの名無しさん
2013/11/14(木) 23:10:44.11元に戻らないやつもあったのか
0073デフォルトの名無しさん
2013/11/15(金) 00:02:43.110074デフォルトの名無しさん
2013/11/16(土) 18:02:12.34ありがとう
gethostname, bind, listen以外はWSA系使って
_beginthreadex使わずにやる事ができた
0075デフォルトの名無しさん
2013/11/16(土) 18:53:50.280076デフォルトの名無しさん
2013/11/16(土) 22:09:47.30自演で作り出した合意が合意じゃないって気が付いたらまた荒らすだろうから触れるんじゃねぇよ馬鹿。
0077デフォルトの名無しさん
2013/11/16(土) 22:42:04.450078デフォルトの名無しさん
2013/11/16(土) 23:13:13.840079デフォルトの名無しさん
2013/11/17(日) 07:54:48.18もとから過疎ってるってことだよね
0080デフォルトの名無しさん
2013/11/17(日) 18:53:18.39それがhoge基地の狙い
0081デフォルトの名無しさん
2013/11/17(日) 23:59:52.06socketでの家庭内PC同士の通信は成功しています
0082デフォルトの名無しさん
2013/11/18(月) 00:08:11.580083デフォルトの名無しさん
2013/11/18(月) 00:09:56.080084デフォルトの名無しさん
2013/11/18(月) 00:59:35.54内部LANと自分のグローバルIPと通信って普通はしないだろ
プログラムじゃなくルーターにこれを実現する機能があるかになる
家庭用ルーターにも出来る奴あるのかな
まぁ、自分でLinuxルーター立てやれ
0085デフォルトの名無しさん
2013/11/18(月) 03:44:53.820086デフォルトの名無しさん
2013/11/18(月) 03:48:41.86グローバルIPアドレスが表示されるHPで確認したら
自分のPCと同じホームネットワークのPCと同じグローバルIPアドレスだったから詰みました
A <--Home Net--> B <--WWW Net--> C
Aから見た場合とCから見た場合で
Bのグローバルアドレスを知る方法はどうしたらいいですか?
0087デフォルトの名無しさん
2013/11/18(月) 06:31:06.55のソースをコピーしてsndPlaySoundを実行中リンクするのですが、wavファイルが鳴った後にエラーが出ます
The value of ESP was not properly saved across a function call.
This is usually a result of calling a function declared with one calling
convention with a function pointer declared with a different calling convention
そこで、typedef BOOL (sndPlaySound)( LPCSTR, UINT )の部分をMMSYSTEM.Hの宣言通りに、
typedef BOOL (WINAPI sndPlaySound)( LPCSTR, UINT )に変更したらエラーは出ませんが、
今度は音が鳴りません(戻り値は1)。原因と対処法を教えてください
OS - Windows Vista home edition
IDE - Visual Studio6 enterprise edition SP2
プロジェクト - Win32 Console Application
ちなみに実行時リンクでも同じくエラーもなく音が出ません。
0088デフォルトの名無しさん
2013/11/18(月) 06:46:33.86非同期再生してすぐに終了してるせいだろ。SND_SYNCを渡せ。
0089デフォルトの名無しさん
2013/11/18(月) 07:25:52.88できました。早速のご回答有難うございました!
0090デフォルトの名無しさん
2013/11/18(月) 09:30:03.82プライベートネットワーク上にあるPCは契約プロバイダから割り当てられたグローバルアドレスを
共有して外部にアクセスに行きます。その仕組みを実現しているのがルーターです。
グローバルアドレスを使ってプライベートネットワーク上の特定PCにアクセスしたい場合は、
ルーターに「フォワーディング」または「静的IPマスカレード」と呼ばれている設定をします。
このやり方は、ルーターの取り扱い説明書を読むか、契約プロバイダに聞いてください。
0091デフォルトの名無しさん
2013/11/18(月) 09:50:32.96調べてみます
ありがとうございました!
0092デフォルトの名無しさん
2013/11/18(月) 10:49:16.14利用者がVisualStudioの別バージョンや他のwin用コンパイラで利用できるように
することは可能でしょうか?
VS2012以外で利用すると、ランタイムライブラリのバージョン違いで
リンクエラーになる気がしてます。
0093デフォルトの名無しさん
2013/11/18(月) 14:41:16.82dumpbin /imports
でライブラリがCRTを参照していなければ(埋め込まれてれば)
いいんだよね。
ただ他のコンパイラとの互換性は保証されてないんでは
0094デフォルトの名無しさん
2013/11/18(月) 17:03:57.96なるほど、ライブラリで標準関数を使うなら無理という事ですね。
DLLにするのが良さそうです、ありがとうございました。
0095デフォルトの名無しさん
2013/11/18(月) 17:41:55.260096デフォルトの名無しさん
2013/11/18(月) 19:28:58.85VS2010以前でも使える、という事ですか? VSの古いバージョンを
もっておらず手元確認ができないのが辛いですが、VSのランタイムが
そういう仕様になっているのは助かります。
利用側のexeが/GLなし、ですと利用者が不便なので難しいですね…
情報ありがとうございました。
0097デフォルトの名無しさん
2013/11/18(月) 19:32:27.280098デフォルトの名無しさん
2013/11/18(月) 19:34:28.320099デフォルトの名無しさん
2013/11/18(月) 19:36:44.02VC2010の奴がVC2012でも使える
0100デフォルトの名無しさん
2013/11/18(月) 21:42:16.60はずがないのでそうなりますよね、勘違いしてました。
COM調べてみます、ありがとうございます!
0101デフォルトの名無しさん
2013/11/18(月) 22:10:17.04WindowProcで言う所のWM_CREATEですか?
初期化完了のメッセージをFD_ACCEPTで表示してるのですが
そうなるとFD_WRITEの使い道がわかりません
FD_ACCEPT(1度) -> FD_WRITE(1度) -> FD_READ(ループ) -> FD_CLOSE(1度)
という流れだったらsocketの初期化をFD_ACCEPT, 初期化完了表示をFD_WRITEにしてしまおうと思うのですが
FD_WRITEが他のタイミングでも呼ばれるのならまずいですよね
0102デフォルトの名無しさん
2013/11/18(月) 22:33:39.32そんなクソAPI使う奴の気が知れない
なんでselectとか世の中の標準を使わないかねえ
0103デフォルトの名無しさん
2013/11/18(月) 23:07:18.00Windows標準の同期オブジェクトをselectで同期できないからな。
逆にWindows標準のMsgWaitForMultipleObjects系APIでもソケットと直接同期できない。
WSAWaitForMultipleEventsはMsgWaitForMultipleObjects系と似てるが同期オブジェクトに互換性が無い。
WSA関連で使うイベントオブジェクトが標準のイベントオブジェクトだったらもう少しマシなんだが……
だからWindowsではマルチスレッドで回すか、WSA系の同期はウィンドウメッセージにしてMsgWaitForMultipleObjectsで待つかになるんだよ。
0104デフォルトの名無しさん
2013/11/19(火) 00:11:23.140105デフォルトの名無しさん
2013/11/19(火) 00:36:33.250106デフォルトの名無しさん
2013/11/19(火) 00:50:45.06そんなクソな思考する奴の気が知れない
なんでWindows以外対応しなくていいって考えが浮かばないかねえ
0107デフォルトの名無しさん
2013/11/19(火) 00:52:59.51テキストとして1行ずつの時はFILE使ってる
0108デフォルトの名無しさん
2013/11/19(火) 11:11:27.890109デフォルトの名無しさん
2013/11/19(火) 12:09:06.340110デフォルトの名無しさん
2013/11/19(火) 17:20:33.35ウィンドウが非アクティブ(他のウィンドウがアクティブ)なのを判定するにはどうすればいいですか?
GetWindowPosみたいなのがあればいいのですが見つかりません
0111デフォルトの名無しさん
2013/11/19(火) 18:14:34.50アクティブなウィンドウならキーボードフォーカス持ってるはずだから、GetFocusとかで
誰がキーボードフォーカス持ってるか調べれば分かるんじゃね?
0112デフォルトの名無しさん
2013/11/19(火) 21:46:50.050113デフォルトの名無しさん
2013/11/19(火) 22:09:44.83ありがとうございます
0114デフォルトの名無しさん
2013/11/20(水) 01:43:42.460115デフォルトの名無しさん
2013/11/20(水) 17:09:14.37君はどうしてそういうことしちゃうのかなぁ…
0116デフォルトの名無しさん
2013/11/20(水) 17:21:50.260117デフォルトの名無しさん
2013/11/20(水) 20:26:41.15そういうこととはどういうこと?
0118デフォルトの名無しさん
2013/11/21(木) 00:41:49.16こいつhoge基地外
0119デフォルトの名無しさん
2013/11/21(木) 01:59:57.080120デフォルトの名無しさん
2013/11/21(木) 02:18:07.810121デフォルトの名無しさん
2013/11/21(木) 18:29:07.13よう、低脳
0122134
2013/11/21(木) 19:46:51.060123デフォルトの名無しさん
2013/11/21(木) 22:10:28.82お前が無礼すぎるんだよ
0124デフォルトの名無しさん
2013/11/21(木) 23:55:49.760125デフォルトの名無しさん
2013/11/22(金) 00:05:51.440126デフォルトの名無しさん
2013/11/22(金) 01:23:00.53ずいぶん嫌われたな
0127デフォルトの名無しさん
2013/11/22(金) 01:34:15.970128デフォルトの名無しさん
2013/11/22(金) 01:57:54.610129デフォルトの名無しさん
2013/11/22(金) 03:56:20.54面白いと思ってやてる餓鬼だよ
0130デフォルトの名無しさん
2013/11/22(金) 12:08:58.29無礼すぎワロタwwww
0131デフォルトの名無しさん
2013/11/22(金) 12:32:39.020132デフォルトの名無しさん
2013/11/22(金) 12:51:03.700133デフォルトの名無しさん
2013/11/22(金) 12:54:35.59↓をとくとご覧あれ。
0134デフォルトの名無しさん
2013/11/22(金) 12:54:38.76この話はやめよ?
ハイちゅんちゅん
0135デフォルトの名無しさん
2013/11/22(金) 19:25:06.08そこはhogeだろ
アホか
0136デフォルトの名無しさん
2013/11/22(金) 20:35:48.16そうだね。
wktkしてたが、低脳過ぎの寒いレスででがっくり
0137デフォルトの名無しさん
2013/11/22(金) 22:31:19.720138デフォルトの名無しさん
2013/11/23(土) 00:09:31.690139デフォルトの名無しさん
2013/11/23(土) 00:24:11.86無礼の方がマシだったな
0140デフォルトの名無しさん
2013/11/23(土) 02:32:44.010141デフォルトの名無しさん
2013/11/23(土) 10:18:04.410142デフォルトの名無しさん
2013/11/23(土) 12:27:30.010143デフォルトの名無しさん
2013/11/23(土) 13:20:54.520144デフォルトの名無しさん
2013/11/23(土) 14:11:09.53スレ開いたら133のはずが134になってるんだもんなー
みなさーん、最高ですかー?
サイコウでーっす!
0145デフォルトの名無しさん
2013/11/23(土) 16:41:29.080146デフォルトの名無しさん
2013/11/23(土) 23:02:39.040147デフォルトの名無しさん
2013/11/23(土) 23:08:58.29/ ヽ─┘ ヽ γ:::::::::::人::::人::人::::λ:::::::::ヽ
/ (;;゚\)ll(/゚;;)\ /:::::::/ (;;゚\)ll(/゚;;) \:::::::ヽ
/ ⌒(__人__)⌒ .\ . i::::::::| ⌒(__人__)⌒ ,|:::::::ノ
< ノ(, |r┬- | u > |::::::::l ノ(, |r┬- | |:::::::|
\ ⌒ 、,|r l -ソ / ヽ,,,ノ、 ⌒、,|r l -ソ u , 'ヽ,,,ノ
ノ_ _(_) `ー' ヽ ノ `ー' (_)-‐ 、
/l_j_j_j⊂) \ / (つl_j_j_j
0148デフォルトの名無しさん
2013/11/23(土) 23:44:45.57って普通土日休みじゃんねぇー
もったいなーい
0149デフォルトの名無しさん
2013/11/26(火) 00:31:41.080150デフォルトの名無しさん
2013/11/26(火) 00:43:36.840151デフォルトの名無しさん
2013/11/26(火) 00:47:12.330152デフォルトの名無しさん
2013/11/26(火) 01:04:33.80下記のような一時変数の const 参照束縛のライフタイムって、
変数 a の存在できるスコープで保証されるじゃん?
class A;
A func() {return A();}
const A& a = func();
そこでふと疑問に思ったんだけど、
下記のようにクラスのメンバで const 参照を保持する場合も、
一時変数のライフタイムって b のスコープで保証されるのかな?
class B
{
pubic:
B(const A& a) : m_a(a) {};
const A& m_a;
};
B b(func());
0153デフォルトの名無しさん
2013/11/26(火) 01:12:08.780154デフォルトの名無しさん
2013/11/26(火) 04:49:18.230155デフォルトの名無しさん
2013/11/26(火) 08:18:59.45func() の戻り値である一時オブジェクトで参照を初期化しているわけじゃない(class Bを初期化している)から
12.2 にある延命される条件には該当しない。
0156デフォルトの名無しさん
2013/11/26(火) 18:45:52.57○ 一時オブジェクト
0157デフォルトの名無しさん
2013/11/27(水) 00:57:13.18豆ね
0158デフォルトの名無しさん
2013/11/27(水) 04:30:25.350159デフォルトの名無しさん
2013/11/28(木) 22:56:30.93とするとvectorがサポートするメソッドをすべて公開し
その中か呼び出すという七面倒なことになるのですがなにかいい案はありますか?
public:
push_back(int i){vi.push_back(i);}
....
0160デフォルトの名無しさん
2013/11/29(金) 00:35:28.85hoge君、何をするためのなにかいい案なんだhoge?
0161デフォルトの名無しさん
2013/11/29(金) 01:13:14.99public 継承する。
または private 継承して using を必要なだけ書く。
0162デフォルトの名無しさん
2013/11/29(金) 01:14:14.23自動委譲に関する話なら
http://toro.2ch.net/test/read.cgi/tech/1382889622/107
以降でやってたよ
もっとも「vectorがサポートするメソッドをすべて公開」しなきゃいけない様な
クラスなら俺なら普通にvectorを継承するけど
0163デフォルトの名無しさん
2013/11/29(金) 08:14:14.08何をしたいのかよくわからんが、いっそのこと vt 公開すれば?
0164デフォルトの名無しさん
2013/11/29(金) 10:16:31.140165デフォルトの名無しさん
2013/11/29(金) 14:13:38.280166デフォルトの名無しさん
2013/11/29(金) 15:43:37.19明示的に仮想関数ってことを表すためって解釈でいいんでしょうか?
0167デフォルトの名無しさん
2013/11/29(金) 15:46:44.350168デフォルトの名無しさん
2013/11/29(金) 15:51:58.270169デフォルトの名無しさん
2013/11/29(金) 17:29:26.94これは低脳排除するときにやる手だろ
でも、低脳は頓珍漢レスするからな
0170デフォルトの名無しさん
2013/11/29(金) 19:10:49.500171デフォルトの名無しさん
2013/11/29(金) 19:23:30.530172デフォルトの名無しさん
2013/11/29(金) 20:34:49.010173デフォルトの名無しさん
2013/11/29(金) 21:29:28.51>>172
紹介するぐらい仲良しこよし
0174デフォルトの名無しさん
2013/11/30(土) 18:04:19.37暗号化したいのですが資料とかないですかね?
ついでに、暗号化したものの複合化など
0175デフォルトの名無しさん
2013/11/30(土) 18:40:44.98適当暗号は資料化する価値がないし、資料化されてるくらいだと定型文過ぎて意味が無い。
適当暗号は適当に逆算可能な数値計算で各文字の値を撹乱すればよい。
簡単なところでは適当な固定数値や数値列、nバイト前の平文を組み合わせてXORとかな。
暗号文を文字列表現するなら最後にBASE64なり16進数なりに戻せばOK。
DES, AES, RSA, 暗号に近いところにある SHA あたりを
http://www.amazon.co.jp/dp/4627847610
0177デフォルトの名無しさん
2013/11/30(土) 19:19:51.78お願いだから、他人の迷惑だから死んでくれ
歴史的事情というのは無しですかトリプルDESも死んじゃってRijndael 一色ですかそうですか
0179デフォルトの名無しさん
2013/11/30(土) 20:37:59.37そこ無視しても本文の暗号化聞かれてRSA出すあたりもどうかと。
公開鍵暗号って普通は鍵の暗号化だけに使って、本文はその鍵使った共通鍵暗号だろ
0180デフォルトの名無しさん
2013/11/30(土) 20:51:41.44DES, AES, RSA, 暗号に近いところにある SHA あたりを
0181デフォルトの名無しさん
2013/12/01(日) 12:51:09.55あれば使うのが手だと思う。
0182デフォルトの名無しさん
2013/12/01(日) 16:17:42.38吉里吉里とかもコレの一部を組み込んでた筈。
ただ、既に更新停止してしまったらしい。残念・・・
ttp://tkyk.name/blog/2009/06/11/Programming-Encryption--libtomcrypt/
>公開鍵暗号って普通は鍵の暗号化だけに使って
公開鍵暗号系はコストが高いから普通そうするが、テキスト全部を公開鍵暗号でおくったっていい
SHA を含めたのは、参考文献にあわせただけね、でもハッシュ関数も暗号関係のお話では重要だと思っているよ
0184デフォルトの名無しさん
2013/12/03(火) 12:56:02.13二項演算子 '=' : 型 'A' の右オペランドを扱う演算子が見つかりません
とのことですが、定義しているのになぜでしょうか?
class A
{
int m_d;
public:
A(int data) :m_d(data){}
A& operator=(const A &obj){
m_d = obj.m_d;
return *this;
}
A operator*(const A& obj){
return A(m_d * obj.m_d);
}
int print(){return(m_d);}
};
class B : public A
{
public:
B(int d) : A(d){}
};
int main()
{
B t1(100),t2(2),t3(0);
t3 = t1 * t2;
return 0;
}
0185デフォルトの名無しさん
2013/12/03(火) 13:02:55.950186デフォルトの名無しさん
2013/12/03(火) 13:23:52.35[class B] = [class A]
こうなってるからじゃね?
0187デフォルトの名無しさん
2013/12/03(火) 13:27:48.910188デフォルトの名無しさん
2013/12/03(火) 13:38:25.60>>187
ありがとう、わかりました。
0189デフォルトの名無しさん
2013/12/03(火) 17:35:36.36なぜに他と同じことしか書いてないの?
0190デフォルトの名無しさん
2013/12/03(火) 17:41:18.640191デフォルトの名無しさん
2013/12/03(火) 17:43:50.86iostreamでアクセスしているロジックがあって困っている。
CならファイルハンドルからFILE構造体の変換にfileno()があるが、iostreamの場合はどうしたらいいんだろう。
0192デフォルトの名無しさん
2013/12/03(火) 17:45:50.250193デフォルトの名無しさん
2013/12/03(火) 17:46:20.78じゃぁ、なぜ書くの?
0194デフォルトの名無しさん
2013/12/03(火) 17:47:11.140195デフォルトの名無しさん
2013/12/03(火) 17:49:21.55std::string classname = "Foo";
classname foo;
ってやれませんか?
0196デフォルトの名無しさん
2013/12/03(火) 18:10:10.40Foo foo;のFooを動的に変更したいということなら、諦めろ。
つーか、クラスの継承で事は足りないのか?
0197デフォルトの名無しさん
2013/12/03(火) 20:38:10.20ていうのじゃダメなんだろうな、多分
DynamicClass* createClass(std::string){ ... }
という力技もあるけど、ダメなんだろうな、多分w
0198デフォルトの名無しさん
2013/12/03(火) 20:40:30.25本人たちに聞いてみたら?
0199デフォルトの名無しさん
2013/12/03(火) 23:25:53.110200デフォルトの名無しさん
2013/12/04(水) 01:03:47.750201デフォルトの名無しさん
2013/12/04(水) 01:12:51.870202デフォルトの名無しさん
2013/12/04(水) 01:21:29.760203デフォルトの名無しさん
2013/12/04(水) 23:02:50.25C++という言語にはリフレクション機能がないので
>>197相当のことをするしかない
0204デフォルトの名無しさん
2013/12/04(水) 23:14:11.000205デフォルトの名無しさん
2013/12/04(水) 23:15:05.600206デフォルトの名無しさん
2013/12/04(水) 23:23:05.590207デフォルトの名無しさん
2013/12/05(木) 00:41:47.150208デフォルトの名無しさん
2013/12/05(木) 01:27:14.000209デフォルトの名無しさん
2013/12/05(木) 01:50:45.470210デフォルトの名無しさん
2013/12/06(金) 03:16:39.910211デフォルトの名無しさん
2013/12/06(金) 07:58:46.820212デフォルトの名無しさん
2013/12/06(金) 10:20:50.820213デフォルトの名無しさん
2013/12/06(金) 10:35:43.470214デフォルトの名無しさん
2013/12/06(金) 10:48:27.680215デフォルトの名無しさん
2013/12/06(金) 12:16:33.880216デフォルトの名無しさん
2013/12/06(金) 13:00:06.680217デフォルトの名無しさん
2013/12/06(金) 13:16:21.890218デフォルトの名無しさん
2013/12/06(金) 13:26:21.720219デフォルトの名無しさん
2013/12/06(金) 17:57:36.20今日まで知らなかったw
0220デフォルトの名無しさん
2013/12/06(金) 18:15:51.02何それ?初期化しているの?
0221デフォルトの名無しさん
2013/12/06(金) 18:19:59.090222219
2013/12/06(金) 19:15:55.600223デフォルトの名無しさん
2013/12/06(金) 20:57:28.830224デフォルトの名無しさん
2013/12/06(金) 20:58:42.81Cは知らん
0225デフォルトの名無しさん
2013/12/06(金) 21:48:02.850226デフォルトの名無しさん
2013/12/06(金) 23:21:22.04すげー。こんなやり方あるのか。
今までC++での配列の初期化はゼロフィルしてたよ
そして、Cではforでくるくるしてた
0227デフォルトの名無しさん
2013/12/06(金) 23:46:16.19式が必要ですってなってできない
#define funcval_samp1 2, 5
#define funcval_samp2 5, 5
#define macro_func(val1, val2)
macro_func(funcval_samp1); // macro_func(2, 5);
macro_func(funcval_samp2); // macro_func(5, 5);
0228デフォルトの名無しさん
2013/12/07(土) 00:03:45.260229デフォルトの名無しさん
2013/12/07(土) 00:13:57.66#degine _adv_macro_func(a) macro_func #a
_adv_macro_func(funcval_sample);
0230デフォルトの名無しさん
2013/12/07(土) 00:36:13.45STARTUPINFO si={sizeof(STARTUPINFO)};
でSDK/ターゲットOSバージョンごとのcbフィールドを適切にセットしつつ他を0フィル
ってのもあるな。
0231デフォルトの名無しさん
2013/12/07(土) 00:41:46.68それはただ単に構造体の第1メンバを初期化してそれ以外を0セットってだけなんじゃ
0232デフォルトの名無しさん
2013/12/07(土) 00:53:09.25似たような文法で似たような用途の小ネタってだけですし。
0233デフォルトの名無しさん
2013/12/07(土) 01:14:22.13C++ポケットリファレンスという本にぽろっと出てました。目うろこでした。
ttp://www.amazon.co.jp/gp/product/4774157155
まだ少ししか読んでませんが、評判通りだと思います。
0234デフォルトの名無しさん
2013/12/07(土) 01:34:30.44STARTUPINFO si={sizeof(STARTUPINFO)};
でcbフィールドを適切にセットしつつ他を0フィルってなるのか?
cb位置って決まっているのか?
0235デフォルトの名無しさん
2013/12/07(土) 01:41:06.96STARTUPINFOは第1メンバがcbだろ
0236デフォルトの名無しさん
2013/12/07(土) 01:43:20.27#define macro_val23 2, 3
macro_func(1, macro_val23, 4);
こんな使い方はどうやればできますか?
0237デフォルトの名無しさん
2013/12/07(土) 02:00:23.20const char* でなくて istreambuf_iterator 使ってファイルストリームバッファをmblenに直接読ませたいんです
0238デフォルトの名無しさん
2013/12/07(土) 02:07:09.93Win32APIでcb(構造体サイズ)メンバを持つ場合、ほぼ第一メンバに来てるからな。
例外ってあったっけ?
0239デフォルトの名無しさん
2013/12/07(土) 02:58:36.34#define macro_func(val1, val23, val4) macro_nothing(macro_func2(val1, val23, val4))
#define macro_func2(val1, val2, val3, val4) func(val1, val2, val3, val4)
#define macro_nothing(a) a
#define macro_val23 2, 3
macro_average(1, macro_val23, 4);
これで警告も無し(Level4)でいけたけど
macro_func -> macro_func2で怖い事してる気がする
0240デフォルトの名無しさん
2013/12/07(土) 03:00:05.12macro_func(1, macro_val23, 4);ね
0241デフォルトの名無しさん
2013/12/07(土) 03:35:56.91#define hage(hige,huge)
#define hoge 1,2
hage(hoge)は
hage((1,2),)として展開される
0242デフォルトの名無しさん
2013/12/07(土) 04:24:52.200243デフォルトの名無しさん
2013/12/07(土) 05:09:26.06http://ideone.com/IcuNue
0244デフォルトの名無しさん
2013/12/07(土) 12:50:31.56VC++ EEでは通ってるよ
0245デフォルトの名無しさん
2013/12/07(土) 12:59:01.13> #define macro_val23 2, 3
この前提が崩れてる
ttp://ideone.com/QBYnoi
0246デフォルトの名無しさん
2013/12/07(土) 13:12:30.040247デフォルトの名無しさん
2013/12/07(土) 13:58:59.40何故サイズ値をもつ必要があるのかを考えれば自明
0248デフォルトの名無しさん
2013/12/07(土) 14:00:03.87マイクロソフトのセンスを疑う
0249デフォルトの名無しさん
2013/12/07(土) 14:08:55.540250デフォルトの名無しさん
2013/12/07(土) 14:19:16.080251デフォルトの名無しさん
2013/12/07(土) 14:31:44.97こんなのPOSIXのbind関数に第3引数が必要なのと同じようなもので
ケチつけてもしようもないこと
0252デフォルトの名無しさん
2013/12/07(土) 14:32:38.65そのためのサイズだろ
0253デフォルトの名無しさん
2013/12/07(土) 14:35:01.820254デフォルトの名無しさん
2013/12/07(土) 14:37:00.82>ケチつけてもしようもないこと
やはり必要ないことを認めている様にしか読めないのだけれど
0255デフォルトの名無しさん
2013/12/07(土) 14:53:53.46最終的に必要だったかどうかを結果だけを見て判断するのなら小学生でもできる
それでもあえて否定するのなら
その前にオマエラの股間にぶら下がっている役に立たないものをちょ(文字数制限によりこれ以上書けません
0256デフォルトの名無しさん
2013/12/07(土) 14:58:40.77あまり突っ込むとハゲーりんになってしまうよ。
0257デフォルトの名無しさん
2013/12/07(土) 14:59:37.93>最終的に必要だったかどうかを結果だけを見て判断するのなら小学生でもできる
小学生ができようとできまいと
間違ったものを間違ったと認識することを否定しては
カイゼンはできません。
そういう人は組織にとって邪魔なので首つって死んで欲しいです
0258デフォルトの名無しさん
2013/12/07(土) 15:09:43.14#include <cstring>
using namespace std;
class person{
char name[32];
char sex; //男 M 女 F
int age;
public:
int show();
person(char * ,char , int);
};
inline int person::show()
{ cout << "氏名: " << name << endl;
cout << "年齢: " << age << "歳" <<endl;
cout << "性別: " << sex << endl;
return 0;
}
inline person::person(char *nm, char se ,int ag)
{ strcpy(name,nm);
sex = se;
age = ag;
}
int main (void)
{person Yamada("山田太郎",'M',26);
person Tanaka("田中花子",'F',24);
cout<<"---------"<<endl;
Yamada.show();
cout<<"---------"<<endl;
Tanaka.show();
cout<<"---------"<<endl;
return 0;
}
0259デフォルトの名無しさん
2013/12/07(土) 15:10:45.370260デフォルトの名無しさん
2013/12/07(土) 15:45:00.330261デフォルトの名無しさん
2013/12/07(土) 15:50:41.94→enum class使え
> person(char * ,char , int);
→文字列はconstで受け取れ
>strcpy(name,nm);
→長さチェックぐらいしろ
0262デフォルトの名無しさん
2013/12/07(土) 16:15:55.84Win32APIスレへ帰れ
0263デフォルトの名無しさん
2013/12/07(土) 16:24:41.88何言っても無駄
0264デフォルトの名無しさん
2013/12/07(土) 17:12:38.250265デフォルトの名無しさん
2013/12/07(土) 17:13:39.190266デフォルトの名無しさん
2013/12/07(土) 17:17:35.28それともそのAPIを持ってるか事前に調べて使い分けるのか?C言語でそれかなりめんどくさいと思うんだけど
0267デフォルトの名無しさん
2013/12/07(土) 17:30:40.870268デフォルトの名無しさん
2013/12/07(土) 17:37:44.760269デフォルトの名無しさん
2013/12/07(土) 17:51:17.250270デフォルトの名無しさん
2013/12/07(土) 17:51:51.200271デフォルトの名無しさん
2013/12/07(土) 18:13:38.13別のAPIを用意するか、バージョン番号を含めるに決まってるでしょ
どうしてサイズとバージョンがリンクしちゃってるの?
サイズ変更なしの仕様変更はどうするの?
ばかなの?
0272デフォルトの名無しさん
2013/12/07(土) 18:39:18.66頭の悪い奴はこれだから使えねー
0273デフォルトの名無しさん
2013/12/07(土) 18:42:20.11バカじゃねーの
0274デフォルトの名無しさん
2013/12/07(土) 18:49:54.26これだから頭の悪い奴は使えねー
本当にかわいそうになってくる
0275デフォルトの名無しさん
2013/12/07(土) 19:36:26.030276デフォルトの名無しさん
2013/12/07(土) 20:17:55.33DWORD cb;
/* 旧メンバ */
#ifdef NewVersion
/* 新メンバ */
#endif
}
こうしたら新旧対応できるだろ
というか定義されてるファイル見たりしないのか
0277デフォルトの名無しさん
2013/12/07(土) 20:21:44.340278デフォルトの名無しさん
2013/12/07(土) 20:26:49.590279デフォルトの名無しさん
2013/12/07(土) 20:58:45.090280デフォルトの名無しさん
2013/12/07(土) 22:40:40.36> サイズ変更なしの仕様変更はどうするの?
互換性に拘るWindowsがそんな事するわけないだろ。それが許されたら古いOSは新しいバージョンの構造体が渡されたら何も読めないからまったく動けなくなる
0281デフォルトの名無しさん
2013/12/07(土) 22:44:17.49無いLinuxの場合はカーネルのABIは変わらないようにかなり気を付けられてる。
そこはかなり限られた範囲で、Windowsでいうcb取る構造体を使うようなAPIは含まれていない。
そのあたりをカバーするGTKやらQtやらのUIツールキットは、それほど厳格にABIを守ろうとされてない。
オープンソースの世界だから、使ってる方を直せばいいって感じ。
0282デフォルトの名無しさん
2013/12/07(土) 22:45:40.78最近SteamとかでLinuxに参入してるプロプライエタリのゲームとかアプリは自分専用に使うライブラリ一式持って行ったりstaticリンクにしたりしてディストリビューション間の違いや付属ライブラリのバージョンの変更に対応してる。
WindowsでいうとUser32.dllをアプリ毎に持ってる感じ
0283デフォルトの名無しさん
2013/12/07(土) 22:47:42.67それ以外のUIとかのフレームワークはAPIを分けられてる
Objective-CだからサポートしてないAPIかどうかの判定はメソッド一つでわかるので楽だけど、無いAPIを呼ぶと例外発生する。
iOSでもバージョンが上がったらかなりのアプリが動かなくなってるのを見ればアップルがそれほど互換性を重視してないのがわかると思う
0284デフォルトの名無しさん
2013/12/07(土) 23:14:17.11変更可能ならこうすればマクロいらんぞ
#define macro_val23 2, 3
func(val1, val4, val2, val3)
func(1, 4, macro_val23)
役に立っていなくて悪かったねぇ
0286デフォルトの名無しさん
2013/12/09(月) 17:50:05.57_controlfp_sで割り込み例外マスクを解除した場合、
どうやって例外を補足するのがスマートなんでしょうか?
とりあえずC++例外として catch (...) で捕まえてますが、
例外の内容がわかりません。
0287デフォルトの名無しさん
2013/12/09(月) 19:01:07.030288デフォルトの名無しさん
2013/12/09(月) 19:07:36.090289デフォルトの名無しさん
2013/12/09(月) 19:09:11.630290デフォルトの名無しさん
2013/12/09(月) 19:15:26.240291デフォルトの名無しさん
2013/12/09(月) 19:16:22.180292デフォルトの名無しさん
2013/12/09(月) 19:22:54.80__try { ... } __except (式) { ... }
式の中にはGetExceptionCode()を含めることができる。
0293デフォルトの名無しさん
2013/12/09(月) 19:26:33.400294デフォルトの名無しさん
2013/12/09(月) 19:28:25.570295デフォルトの名無しさん
2013/12/09(月) 19:31:47.470296デフォルトの名無しさん
2013/12/09(月) 19:32:55.55/EHaオプションでC++例外としてキャッチできているのですが、
それを生かす方法はありませんか
0297デフォルトの名無しさん
2013/12/09(月) 19:40:18.642.前者は__try-exceptなどでキャッチする
3._controlfp_sに関係するのは前者
4.catch(...)でキャッチできたのは偶然じゃね?
0298デフォルトの名無しさん
2013/12/09(月) 19:40:29.460299デフォルトの名無しさん
2013/12/09(月) 19:45:38.060300デフォルトの名無しさん
2013/12/09(月) 19:55:09.01http://msdn.microsoft.com/en-us/library/5z4bw5h5.aspx
使ったことないから詳細不明
うまくいったらレポしてくれ
0301デフォルトの名無しさん
2013/12/09(月) 20:19:39.872008STDからうpだてできるかなぁ。
0302デフォルトの名無しさん
2013/12/10(火) 11:16:59.32DLLってしょせん関数の塊ですよね?
sub1という関数とsub2という関数を持つDLLを作ったとします
1.sub1で定義した変数をsub2で使うことは出来るのでしょうか?
2.例えばsub1が何回呼ばれたかをsub1内で覚えておくことは出来るのでしょうか?
関数って一度呼ばれて実行が終わると使われた変数とか全部開放されるような気がするのです
なので関数間の値の受け渡しとか、関数が終了しても覚えておきたい値とかどうするのかなって
こんな超初心者でバカな質問で申し訳ないがよろしくお願いします
0303デフォルトの名無しさん
2013/12/10(火) 11:19:44.95static変数なりglobal変数なり調べれ
0304デフォルトの名無しさん
2013/12/10(火) 11:25:18.79基本、アクセス毎、初期化されデータは消えるはず。
DLLにマルチアクセスする場合、アクセスした情報を残したい時、特有の手法がある。
一度のアクセス内ではふつうのC/C++のプログラムと同じでデータは保持されている。
0305デフォルトの名無しさん
2013/12/10(火) 11:50:19.71なんらかの方法があるって事ですね
了解です。もっとググって勉強してきます
ありがとうございました
0306デフォルトの名無しさん
2013/12/10(火) 12:21:35.82そのDLLは複数のプロセスから呼ばれるのか
単一のプロセスから呼ばれるのかでも変わってくる
0307デフォルトの名無しさん
2013/12/10(火) 14:35:50.94VCのアプリケーションウィザードで DLL のプロジェクト一式をさくっと作れるから
最初はそれをいじって検証してみるといいんじゃないか
0308デフォルトの名無しさん
2013/12/10(火) 21:26:31.90そんな事全然考えずに作ってたなぁ。
0309デフォルトの名無しさん
2013/12/10(火) 21:45:51.59どうしてこう馬鹿が多いのか
0310デフォルトの名無しさん
2013/12/10(火) 21:49:56.590311デフォルトの名無しさん
2013/12/10(火) 21:53:02.520312デフォルトの名無しさん
2013/12/10(火) 21:55:21.220313デフォルトの名無しさん
2013/12/10(火) 22:07:01.690314デフォルトの名無しさん
2013/12/10(火) 22:09:41.05.NET Frameworkのライブラリ
関数をエクスポートするDLL
クラスをエクスポートするDLL
変数をエクスポートするDLL
つまり拡張子がなんとなくDLLになっている以上の意味はない
0315デフォルトの名無しさん
2013/12/11(水) 00:02:46.95DLLは本来ドライバとアプリの橋渡しに使うもの
DLLを理解するためにはハード、ドライバ、OSのカーネル等を理解しないと駄目ニダアルネ
0316デフォルトの名無しさん
2013/12/11(水) 00:07:00.380317デフォルトの名無しさん
2013/12/11(水) 00:38:55.06DLL作成の前に必ずドライバ作りの勉強をやらされるよな
ドライバ作りの勉強にはビデオドライバが定番
ビデオドライバすら作れない奴がDLL作るってってありえない
だろ!
0318デフォルトの名無しさん
2013/12/11(水) 01:48:50.89ほんと視野狭いのな
0319デフォルトの名無しさん
2013/12/11(水) 02:51:08.260320デフォルトの名無しさん
2013/12/11(水) 07:40:43.52普通のlibを作るところからはじめろ。
ところで、C/C++の知識はちゃんとあるの?
0321デフォルトの名無しさん
2013/12/11(水) 10:53:44.250322デフォルトの名無しさん
2013/12/11(水) 12:54:30.210323デフォルトの名無しさん
2013/12/11(水) 12:58:02.19そっからいろんな疑問が出てくるかと。
良くあるのがVCでDLL作って、VBから呼ぶってやつ?
今は違うのかもサセン
0324デフォルトの名無しさん
2013/12/11(水) 15:08:58.44違うだろ
デビル二世とバビルマンだ
0325デフォルトの名無しさん
2013/12/13(金) 02:43:57.37class A {
いくつかの関数
B *b;
};
// B.h
class B {
いくつかの関数
A *a
};
// A.cpp
void A::hoge() { b->foo(); }
// B.cpp
void B::bar() { a->foobar(); }
関数の引数としてとる場合や、メンバ変数としてポインタを持つのみならプロトタイプ宣言で循環includeを回避できるということを知ったんですが、
上記のように互いの実装部で互いの関数を呼び出している場合、関数を変更せずに循環includeを回避する方法はありますか?
0326デフォルトの名無しさん
2013/12/13(金) 02:46:50.91A.cpp, B.cpp ともに、 A.h, B.h の両方をインクルードしていれば何も問題が無いように見える。
それのどこで「循環include」なる現象が起こると思うの?
0327デフォルトの名無しさん
2013/12/13(金) 02:52:37.27hogeは消えろよ
0328デフォルトの名無しさん
2013/12/13(金) 03:10:42.300329デフォルトの名無しさん
2013/12/13(金) 03:30:50.30hoge厨はやっぱヴァカなんだな。
脳障がい乙。
0330重要
2013/12/13(金) 06:19:17.04hogeは禁止します、使用しないでください。
万が一hogeが書き込まれても、スルーしてください。
相手にするとあなたも荒らしと同じ扱いになります。
※ >>1をよく読んで下さい
0331デフォルトの名無しさん
2013/12/13(金) 07:02:03.32部分が多いのだけど
例えば、class Aってのがあって、A aobj;と、宣言してあるとして
aobjに、フィールド(C++でフィールドって言ったけ?)
用に、セッターを、作っておいて、フィールドに
値を入れたとします。
で、class Bってのがあって、Bに、メソッドvoid setA(A & a)
ってのがあるとして
setA にaobjを、入れたらデストラクタは走ったけ?
だいぶ忘れてる。
class A と class B の関係は?
0333デフォルトの名無しさん
2013/12/13(金) 07:13:34.110334デフォルトの名無しさん
2013/12/13(金) 07:14:58.060335デフォルトの名無しさん
2013/12/13(金) 07:34:38.42aobjの実体が呼び出し元にあるのに
Bに参照を設定しないで下さい
void setA(A const &a) コピーする
void setA(A *pa) ポインターで参照するのみ
void setA(shared_ptr<A> a) 共有する
void setA(A &&a) 意味的に移動する
0336デフォルトの名無しさん
2013/12/14(土) 00:25:44.79「自分はスルー出来なくて、スルーしない奴は荒らしなので、自分は荒らしです」
って自己紹介がまだ続いてんのかな。
他人にスルーしろ言う前に自分がスルーしろよアホ。
0337デフォルトの名無しさん
2013/12/14(土) 01:01:21.80ブーメラン楽しいか?
0338331
2013/12/14(土) 04:35:58.97特に意味は無いです。
単純に、setA にaobjを入れた時に
class A のデストラクタが走ったっけな〜?
って、思っただけです。
まぁ、コードで確認しろと言われれば
それまでなんですけどね。
0339デフォルトの名無しさん
2013/12/14(土) 10:29:12.27その書き方で通るわけ無いだろ。
hoge厨はやっぱヴァカなんだな。
やっぱりホゲは禁止でよかった
--A.h
class B;
class A {
B *pb;
};
0340デフォルトの名無しさん
2013/12/15(日) 00:13:11.30俺、スルーしろって言ったっけ?
0341重要
2013/12/15(日) 21:01:43.98hogeは禁止します、使用しないでください。
万が一hogeが書き込まれても、スルーしてください。
相手にするとあなたも荒らしと同じ扱いになります。
※ >>1をよく読んで下さい
0342デフォルトの名無しさん
2013/12/17(火) 05:55:09.100343デフォルトの名無しさん
2013/12/17(火) 06:06:00.76>レス番飛んでる
ってのはウザイからスルーするためにNGしたってことだろ?
完全にブメじゃねーか
0344デフォルトの名無しさん
2013/12/17(火) 07:58:27.740345デフォルトの名無しさん
2013/12/17(火) 08:03:49.950346デフォルトの名無しさん
2013/12/17(火) 18:53:06.23コピペで済んでるだけマシ
昔みたいにhogeが書き込まれるたびに罵声の応酬が発生するほうが鬱陶しい
どうしても気になるなら「hoge」をNGに入れておけ
そうすれば>>341も見えなくなる
0347デフォルトの名無しさん
2013/12/17(火) 19:45:40.48クソレスも少なくなった
今後も続けるた方がいい
0349デフォルトの名無しさん
2013/12/17(火) 20:26:48.720350デフォルトの名無しさん
2013/12/17(火) 21:15:28.67コイツはhoge荒らしをあおって楽しんでいる
「過剰反応」の定義は?
0352デフォルトの名無しさん
2013/12/17(火) 21:47:08.00お前が一番必死に見える
特定コテハンに粘着するのはそもそも2chのルール違反
最悪板でやれ
0353デフォルトの名無しさん
2013/12/17(火) 22:24:51.50いまは必死な奴が2chする
hogeに必死、アンチhogeに必死、こてに必死....
必死な奴は基地、ということで2chは基地の溜り場
0354デフォルトの名無しさん
2013/12/18(水) 00:45:25.60NGする意図なんて人それぞれだろ。
>>347
荒らしてた奴がそのマイルールを連投するようになっただけだろ。
何も変わってない。
0355デフォルトの名無しさん
2013/12/18(水) 01:03:44.28もしくは
http://toro.2ch.net/test/read.cgi/tech/1385318887/2
を>>1か>>2に入れようぜ。
0356デフォルトの名無しさん
2013/12/18(水) 01:11:05.93hoge基地大降臨以後、普通の奴がC++系スレから居なくなったって感じだし
ここもだけどC++スレも底辺スレになったよね。来年にはapiスレに並ぶ底辺スレかな
0357デフォルトの名無しさん
2013/12/18(水) 16:57:48.97自演だよな?
0358デフォルトの名無しさん
2013/12/18(水) 18:36:57.56自演だよな?ではなく、俺の自演だよって言いなさい
0359デフォルトの名無しさん
2013/12/18(水) 20:39:13.10hogeは禁止しません宣言でスレ立てして
700ぐらいで釣りでした宣言した件?
0360デフォルトの名無しさん
2013/12/18(水) 21:33:33.03自分で自分にアンカするような奴だしなぁ・・・
0361デフォルトの名無しさん
2013/12/18(水) 23:46:23.49現在中学生で将来ゲームを創る仕事をしたいと思っています。そこで、c++を勉強しようと思いますが、そのまえにc言語を勉強した方が良いですか?あと、c言語または、c++を使ってBF4などのFPSゲームを創る事ができますか?
0362デフォルトの名無しさん
2013/12/18(水) 23:50:52.15FPSゲームはC++でなくても可能なんじゃないかな?もちろんC++でもできるが
0363デフォルトの名無しさん
2013/12/18(水) 23:51:12.88C++で十分。
C言語をやるのに、アセンブラや機械語が必要か?と同じ事。
あとHSPをすすめる。
これで作れれば手間さえかければC++でも作れる。
0364デフォルトの名無しさん
2013/12/18(水) 23:59:18.000365デフォルトの名無しさん
2013/12/18(水) 23:59:35.94HSPプログラムコンテスト2013 入賞作品詳細
http://hsp.tv/contest2013/cntst_fresult.html
0366デフォルトの名無しさん
2013/12/19(木) 00:00:04.33まだ僕には時間があるのでc言語からやって行こうと思います。回答ありがとうございました。
0367デフォルトの名無しさん
2013/12/19(木) 00:01:10.68勉強する と やる をすり替えた前提で話をしないで下さい。
C++はCに比べてコンパイラーが裏で生成するコードが多すぎるから
勉強としてはCもやって損は無いと思うけど、
せざるを得ないとまで断言されるとそれは違う。
0368デフォルトの名無しさん
2013/12/19(木) 00:28:47.92敢えてC言語のみの環境を整えて学習する必要はないけど、C言語的なプログラミングを先に学んでからC++特有のプログラミングに移るべき
0369デフォルトの名無しさん
2013/12/19(木) 00:29:32.890370デフォルトの名無しさん
2013/12/19(木) 00:50:26.11初心者をいきなり printf の罠に放り込んでのた打ち回らせるのは犯罪に等しい
0371デフォルトの名無しさん
2013/12/19(木) 00:54:47.060372デフォルトの名無しさん
2013/12/19(木) 00:57:01.660373デフォルトの名無しさん
2013/12/19(木) 01:35:03.990374デフォルトの名無しさん
2013/12/19(木) 01:42:03.990375デフォルトの名無しさん
2013/12/19(木) 01:53:24.66それより初心者がCに躓く可能性は懸念するのに、Cの数十倍難解なC++に躓く可能性を考えないのはなぜだ
0376デフォルトの名無しさん
2013/12/19(木) 01:54:42.16今:Java/C#→C++
0377デフォルトの名無しさん
2013/12/19(木) 02:02:36.66やっぱりCの知識がある分C++を学ぶの楽だったよ
0378デフォルトの名無しさん
2013/12/19(木) 02:25:16.140379デフォルトの名無しさん
2013/12/19(木) 03:21:00.96あら簡単 もうC++プログラム
0380デフォルトの名無しさん
2013/12/19(木) 03:31:38.60C++なしにWindowsアプリつくろうと思ったら発狂するわ
0381デフォルトの名無しさん
2013/12/19(木) 03:42:41.91発狂するのは同意
0382デフォルトの名無しさん
2013/12/19(木) 03:51:55.750383デフォルトの名無しさん
2013/12/19(木) 04:37:36.11今はCが使えてもソフトは作れないから…Cから始めてC++にせざるを得なかったってとこでしょ
0384デフォルトの名無しさん
2013/12/19(木) 05:03:44.90小規模の組み込みでw
0385デフォルトの名無しさん
2013/12/19(木) 08:11:32.49>CはC++の真部分集合だぞ
違うよ
0386デフォルトの名無しさん
2013/12/19(木) 12:44:52.60低レベルのチューニングを重視するならCを使うし。
C++は楽でもなければ低レベルでもない非常に中途半端な立ち位置。
0387デフォルトの名無しさん
2013/12/19(木) 12:47:00.58低レベルのチューニングを楽にできるのがいいんじゃねーか
0388デフォルトの名無しさん
2013/12/19(木) 13:08:41.20Cより実行速度が遅いとか思っちゃってる人なんだろ。
そっとしといてやれよ。
0389デフォルトの名無しさん
2013/12/19(木) 17:32:03.06最近はC++の大規模プロジェクトなんてないしな
0390デフォルトの名無しさん
2013/12/19(木) 17:50:12.960391デフォルトの名無しさん
2013/12/19(木) 17:55:17.75ttp://okwave.jp/
0392デフォルトの名無しさん
2013/12/19(木) 17:55:39.43課題はお断り
ホゲも禁止
Cの質問なら歓迎
0393デフォルトの名無しさん
2013/12/19(木) 19:41:36.76どうしてvc++はこんな簡単なコードすらマトモに動かないのですか?
0394デフォルトの名無しさん
2013/12/19(木) 19:46:07.18簡単に言えば無能だから
0395デフォルトの名無しさん
2013/12/19(木) 19:55:16.050396デフォルトの名無しさん
2013/12/19(木) 20:06:49.130397デフォルトの名無しさん
2013/12/19(木) 20:08:29.33VC++を使っている奴が少ないせい(WinでC++使っている奴が少ない)で、文句言う奴がほとんどいなくて
たくさんのバグが放置されているんだよ
VC++はユーザー少ないから新C++への対応すらあんまりやる気なしだし
MSはWinではC/C++ではなくC#等を使えだし
0398デフォルトの名無しさん
2013/12/19(木) 20:17:57.95C99が嫌いなんだろ
0399デフォルトの名無しさん
2013/12/19(木) 20:22:51.560400デフォルトの名無しさん
2013/12/19(木) 20:37:00.960401デフォルトの名無しさん
2013/12/19(木) 20:37:07.85lambdaじゃVariadic templatesじゃ言うヤツ等は対象外
0402デフォルトの名無しさん
2013/12/19(木) 20:38:11.32どのへんが対象外なのかkwsk
0403デフォルトの名無しさん
2013/12/19(木) 20:40:45.120404デフォルトの名無しさん
2013/12/19(木) 20:51:27.121998年にvc6が出た後も、2002,2003,2005,2008,2010,2012,2013
とバージョンアップして
ラムダもVariadic templatesもあるのに
0405デフォルトの名無しさん
2013/12/19(木) 21:24:36.96拡張子 .c にしとけば C++ の機能使ったらエラーになるよ。
0406デフォルトの名無しさん
2013/12/19(木) 21:32:10.25どうしてG++はこんな簡単なコードすら
マトモにコンパイルできないのですか?
0407デフォルトの名無しさん
2013/12/19(木) 21:43:39.540408デフォルトの名無しさん
2013/12/19(木) 21:48:04.330409デフォルトの名無しさん
2013/12/19(木) 21:59:09.70C++98: 1998年9月
これマメチな
0410デフォルトの名無しさん
2013/12/19(木) 22:16:45.650411デフォルトの名無しさん
2013/12/19(木) 22:18:04.980412デフォルトの名無しさん
2013/12/19(木) 22:19:26.45つ http://support.microsoft.com/?scid=kb;en-us;181506&x=3&y=11
0413デフォルトの名無しさん
2013/12/19(木) 22:22:47.98してないからやる気がないだなんて
MSをけなしたいだけに思えてならない。
よほどMsが嫌いなんだな
0414デフォルトの名無しさん
2013/12/19(木) 22:27:26.65そうそう、WinのC++はVC6で十分
VSは言語なんてどうでも良い。IDEがすべて
0415デフォルトの名無しさん
2013/12/19(木) 22:38:36.76最新版がいいだろ。
バグや性能など面で。
0416デフォルトの名無しさん
2013/12/19(木) 22:43:18.55VSで使えてこそ意味がある。
C++の流行り廃りはMSにかかってる。
0417デフォルトの名無しさん
2013/12/19(木) 22:53:18.24好きなエディタとコンパイラーとリンカーとデバッガーを組み合わせて統合したい
0418デフォルトの名無しさん
2013/12/19(木) 23:13:02.47だがデバッガは選択肢がほとんどないし
インテリセンスまで統合するには難易度が跳ね上がる
0419デフォルトの名無しさん
2013/12/19(木) 23:20:36.010420デフォルトの名無しさん
2013/12/19(木) 23:23:41.16最新版の方がバグが少ないの?
最新版の方が性能がいいの?
いみわからん
0421デフォルトの名無しさん
2013/12/19(木) 23:29:42.17性能劣化してたら新バージョン出す意味が無い
0422デフォルトの名無しさん
2013/12/19(木) 23:35:47.320423デフォルトの名無しさん
2013/12/19(木) 23:35:46.98http://crystalmark.info/special/VisualC71.html
VisualC++ 7.1 の衝撃 [ 2003/08/14 ]
VisualStudio .NET 2003 の VisualC++ 7.1 はついに Pentium 4 最適化機能が実装されました。
VC7.1 で新たにサポートされた G7 オプションは Pentium 4 および Athlon に最適化されるそうで、適用したところ一部で非常に大きな効果がありました。
CrystalForce 400K (Pentium 4 HT)
QuickSort / RandMeanSS / Mandelbrot において劇的に性能が向上していることがわかります。
以前、NetBurst は予測困難な条件分岐に弱い(パイプラインの段数が多いため) ということが頻繁に取り上げられており、
私も Mandelbrot のように条件分岐のオンパレードな処理は苦手と考えていたのですが、どうやらコンパイラの改良で改善できる問題のようですね。
CrystalForce 500K (Moble Athlon XP)
RandMeanSS で神がかり的なスコアアップを果たしています。
総評
ここまでコンパイラで違うものなのか!! というのが正直な感想です。G7 オプションですが、Pentium III でも大きな効果があるようですね。
VisualC++ 7.1 マイナーバージョンアップかと思いきやこいつはとんでもない魔物のようです。
数値計算を Windows でやっている方は必須のバージョンアップではないでしょうか!!
0424デフォルトの名無しさん
2013/12/19(木) 23:46:53.04それが論拠かよwww
0425デフォルトの名無しさん
2013/12/20(金) 00:04:49.71本人はそれが幸せなんです。
0426デフォルトの名無しさん
2013/12/20(金) 00:07:03.320427デフォルトの名無しさん
2013/12/20(金) 00:20:53.94MSDNの使い勝手はVC6のが最高。
ただ、ひたすら内容が古い。
0428デフォルトの名無しさん
2013/12/20(金) 01:41:34.970429デフォルトの名無しさん
2013/12/20(金) 01:48:06.320430デフォルトの名無しさん
2013/12/20(金) 02:15:24.56バグが少ない
性能がいい
小奇麗に書ける
0431デフォルトの名無しさん
2013/12/20(金) 02:20:09.36特に言語の規格が変わったあとはコンパイラが追い付いてないこともあるぞ
0432デフォルトの名無しさん
2013/12/20(金) 02:29:50.99バグの多い少ないは、そのソフトがどれくらい保守されてるかによるから、
マイナーバージョンが大きい(保守された回数が多い)方が少ない。メジャーバージョンだけ大きい場合はバグが多いと思った方がいい
性能は何の性能のことだよ
ビルド速度ならハードが同じなら古いバージョンの方が速い=性能が高い。これは言語verには無関係
ビルドされたバイナリの実行速度も同じ。言語verにはほぼ無関係
小奇麗に書けるってのは…
ソースの綺麗な書き方を知らないだけだろw
うまい奴が作ったマクロばりばり書式なんて読みやすくて笑えるぞ
0433デフォルトの名無しさん
2013/12/20(金) 02:56:44.38中身は新規開発でなく以前改良だろ。
0434デフォルトの名無しさん
2013/12/20(金) 03:14:11.88変更箇所が多い分だけバグの可能性も高まる
新規だから、改良だからってのとは無関係だよ
0435デフォルトの名無しさん
2013/12/20(金) 03:21:33.15コンパイラは大して変わってなくても、変わっていても、
他との都合でメジャーバージョンが上がる。
0436デフォルトの名無しさん
2013/12/20(金) 03:30:59.78>>435の言うバグ=VSに含まれるC++コンパイラツールのバグ
どっちもソフトのバグの話題。言語バージョンのバグ(=C++仕様上のバグ)とは関係がないな
0437デフォルトの名無しさん
2013/12/20(金) 03:56:17.27哀れ過ぎる
0438デフォルトの名無しさん
2013/12/20(金) 04:56:57.45ビルド速度を高速化する修正とかもよくあるから一概には言えない。
実行速度も最適化アルゴリズムの修正とかもあるから一概には言えない。
メジャーバージョンが上がってたらそれこそ修正もありえるだろう。
0439デフォルトの名無しさん
2013/12/20(金) 04:59:18.1580bits "long double" とか long long integer(爆笑) とか、修飾子を恥も外聞も問わずに接着して型を生み出そうという仕様は言語仕様としてはウンコだ
ウンコがいうんだから間違いない
long long は流布されている MSVCRT.dll が対応していないとか、いまだに迷惑している、これもいいかげんなんとかしてほしい
0441デフォルトの名無しさん
2013/12/20(金) 06:52:47.63MSVCRT.dllを使う人がいたとは知らなかった
0442デフォルトの名無しさん
2013/12/20(金) 06:58:26.79Qt使ったほうが万全良いと思うのですが。
0443デフォルトの名無しさん
2013/12/20(金) 07:16:00.16つcygwin
0444デフォルトの名無しさん
2013/12/20(金) 07:51:12.02cygwinとやらに内蔵のコンパイラーがMSVCRT.dllとリンクするクソ設計になっているのか。
それはcygwinがlong longに対応していないと言うべきだ。
Windows自体はC++の開発環境機能を持たないんだから
んなものはコンパイラが用意すべき
0445デフォルトの名無しさん
2013/12/20(金) 13:05:28.31全部の関数にlong版とlong long版を用意しろというのか??
0446デフォルトの名無しさん
2013/12/20(金) 15:36:42.170447デフォルトの名無しさん
2013/12/20(金) 16:00:43.19printfが%lldを認識しないってことでは
0448デフォルトの名無しさん
2013/12/20(金) 17:07:46.33>ウンコがいうんだから間違いない
自分がUNKOだという自覚はあるのですね。
0449デフォルトの名無しさん
2013/12/20(金) 18:00:38.870450デフォルトの名無しさん
2013/12/20(金) 20:55:59.290451デフォルトの名無しさん
2013/12/20(金) 21:30:49.390452デフォルトの名無しさん
2013/12/20(金) 21:38:40.570453デフォルトの名無しさん
2013/12/20(金) 21:44:43.910454デフォルトの名無しさん
2013/12/20(金) 22:35:43.420455デフォルトの名無しさん
2013/12/21(土) 00:15:06.65{
char result[4]={0};
return strcpy(result,"aaa");
}
はだめだとおもいますが、
char* bbb()
{
return "bbb";
}
は良いのでしょうか?
0456デフォルトの名無しさん
2013/12/21(土) 00:34:47.55一報文字列リテラルは内部的にstatic char[]なのでスコープを抜けても有効
0457デフォルトの名無しさん
2013/12/21(土) 00:38:40.30constつけないと拙い。
0458デフォルトの名無しさん
2013/12/21(土) 01:32:19.83デストラクタが走って、内部メモリがクリアされるのは
return が終わってからですよね。
a=func();
0459デフォルトの名無しさん
2013/12/21(土) 03:25:42.01その func() は、セミコロンまで
a はスコープを抜けるまで
0460デフォルトの名無しさん
2013/12/21(土) 04:59:43.04「その通りだが呼び出し側でメモリを用意してそこにコピーしろ」
と言うべきだ
errno_t manko(char *restrict p_result, rsize_t result_size)
{
return strcpy_s(p_result, result_size, "aaa");
}
0461デフォルトの名無しさん
2013/12/21(土) 05:40:13.320462デフォルトの名無しさん
2013/12/21(土) 05:53:43.10B: そんなクソコードで「べき」とか
Bはコミュ障
「回答が質問者の背景を考慮できていないのではないか」
という指摘が理解できなかった
0463デフォルトの名無しさん
2013/12/21(土) 06:10:47.22マイクロソフト大勝利だな
0464デフォルトの名無しさん
2013/12/21(土) 06:29:10.00const char*返せばいい場所で一々文字列コピー要求されるとかの方がクソだと思う
0465デフォルトの名無しさん
2013/12/21(土) 06:42:09.46どして?
0466デフォルトの名無しさん
2013/12/21(土) 06:42:41.910467デフォルトの名無しさん
2013/12/21(土) 06:46:03.44char*に文字列リテラル代入してもエラー出さないコンパイラが多いけど、これってCの仕様的にはどういう挙動なの?
0468デフォルトの名無しさん
2013/12/21(土) 06:47:36.13でも書き込んだら困ります
0469デフォルトの名無しさん
2013/12/21(土) 06:55:39.55書き込んだらだめなだけです
0470デフォルトの名無しさん
2013/12/21(土) 08:23:11.36→C#→Android(java)ってな感じで、今はAndroidアプリ
の製作を中心にやってるけど
C言語での質問で、アセンブラの知識は無いんですが
char *str="abc";
ってのがあったとして
アセンブラ的には
&strの番地(仮に123として)から
123にはa
124にはb
125にはc
126には0
が入ってると思って良いでしょうか?
間違ってたら、ご教示願います。
0471デフォルトの名無しさん
2013/12/21(土) 08:32:18.04&strの値(str変数そのものの番地、仮に0x0100)、
strの値("abc"の番地、仮に0x0123)として、
リトルエンディアンの4バイトポインタで考えると
0x0100 23 (ココから4バイトで0x0123)
0x0101 01
0x0102 00
0x0103 00
0x0123 61 ('a')
0x0124 62 ('b')
0x0125 63 ('c')
0x0126 00 ('\0')
0472デフォルトの名無しさん
2013/12/21(土) 10:03:18.57K&Rの初版本を100回読み直せ。
そういう事だ。
ROM焼きの障害になっている。
0473デフォルトの名無しさん
2013/12/21(土) 10:43:14.87KoReanか?
0474デフォルトの名無しさん
2013/12/21(土) 11:05:34.76確か、本来は const 付きが正しいけど、過去の経緯で const 無しでもエラーにしてないとかだったかと。
0475デフォルトの名無しさん
2013/12/21(土) 11:08:46.18&str -> 0x2000
str -> 0x1000 (&str[0])
str[0] -> 0x2000 -> 'a'
str[1] -> 0x2001 -> 'b'
str[2] -> 0x2002 -> 'c'
str[3] -> 0x2003 -> '\0'
0476デフォルトの名無しさん
2013/12/21(土) 11:10:09.56&str -> 0x1000
str -> 0x2000
0477デフォルトの名無しさん
2013/12/21(土) 12:30:50.79だから「拙い」と書いているのに。
0478デフォルトの名無しさん
2013/12/21(土) 13:01:01.85昔某コンパイラで同一内容をもつリテラルのメモリ共有+書き換え可能の凶悪なコンボをみたことがあるけど
0479デフォルトの名無しさん
2013/12/21(土) 19:35:52.49それはコンパイラーが出力するコードに依存します
0480デフォルトの名無しさん
2013/12/21(土) 21:15:30.24printf("aaa:bbb()");
と書けばいいのですが、文字列を一々編集するのが面倒なので。。。
0481デフォルトの名無しさん
2013/12/21(土) 21:22:21.82つ[__func__]
0482デフォルトの名無しさん
2013/12/21(土) 21:30:26.930483デフォルトの名無しさん
2013/12/21(土) 21:42:16.90改行要らなきゃfputs(__func__, stdout)とでもかえとくれ。
0484デフォルトの名無しさん
2013/12/21(土) 22:04:28.43コンパイラとリンカとOSのローダとOSの仮想メモリ機構に依存する。
どこかの段階で書き換え可能にマークされたらLinuxだろうがWindowsだろうが御仕舞い。
0485デフォルトの名無しさん
2013/12/21(土) 23:06:10.31つ char* GiveMeMemberFunctionName() const;
0486デフォルトの名無しさん
2013/12/22(日) 09:17:16.30おまえ、まだK&R100回とか言ってんの?
気色悪いですよ
0487デフォルトの名無しさん
2013/12/22(日) 09:25:24.980488デフォルトの名無しさん
2013/12/22(日) 16:59:53.45class クラス1
{
public:
int クラス1のメンバ変数;
};
class クラス2 : public クラス1
{
public:
クラス2(int x0):クラス1のメンバ変数(x0){}
};
'クラス2' : イニシャライズ リスト内のクラス 'クラス1のメンバ変数' が基本クラスでもメンバーでもありません。
と怒られます。
なにが悪いのでしょうか?
0489デフォルトの名無しさん
2013/12/22(日) 17:05:17.38継承元のコンストラクタで初期化してください
0490デフォルトの名無しさん
2013/12/22(日) 17:37:32.400491デフォルトの名無しさん
2013/12/22(日) 17:49:46.100492デフォルトの名無しさん
2013/12/22(日) 18:35:13.58class クラス1
{
public:
int クラス1のメンバ変数;
クラス1(int i): クラス1のメンバ変数(i) {}
};
class クラス2 : public クラス1
{
public:
クラス2(int x0): クラス1(x0){}
};
0493デフォルトの名無しさん
2013/12/22(日) 18:47:06.970494デフォルトの名無しさん
2013/12/22(日) 23:36:30.07これでok
http://ideone.com/91q5Km
0495デフォルトの名無しさん
2013/12/23(月) 00:20:20.92死ねネトウヨ
あんま調子こいてると◯◯ぞ。
0496デフォルトの名無しさん
2013/12/23(月) 00:25:32.890497デフォルトの名無しさん
2013/12/23(月) 00:37:14.920498デフォルトの名無しさん
2013/12/23(月) 00:39:16.23アゲアゲ〜
0499デフォルトの名無しさん
2013/12/23(月) 01:38:31.530500デフォルトの名無しさん
2013/12/23(月) 02:42:34.450501デフォルトの名無しさん
2013/12/23(月) 06:27:24.79最適化をさせないために、volatileを、付けますが
最適化の弊害とは、例えばどういうコードが弊害に
なるのでしょうか?
以前にも、同じ質問して、レス頂いたのですが
そのレスの内容をコピペして保存するのを忘れてしまいました。
二度手間で恐縮ですが、再度
ご教示願います。
本当にすいません。
0502デフォルトの名無しさん
2013/12/23(月) 07:12:40.35ttp://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0472bj/CJAEGDEA.html
0503470
2013/12/23(月) 07:53:54.52>>475さん
すっごい遅レスで申し訳ありません。
471さんの例を見て、アセンブラの知識は
ほぼ皆無ですが自分なりに解釈すると
まず0x0100番地に&strの番地があり
0x0100番地の値?から論理和でstrの番地
に、飛んでると思って良いでしょうか?
0504デフォルトの名無しさん
2013/12/23(月) 08:38:49.98こんな書き方できるんだ
初めて見た
0506デフォルトの名無しさん
2013/12/23(月) 09:05:57.30できないから質問してんじゃねーの
volatile をつけた変数は、
�@それがアドレス空間に存在すること
�A volatile 変数へのアクセス記述を端折ったりされなくなること
が保証される。
volatile int flag;
flag = 1;
flag = 1;
flag = 1;
とかけば、flag はアドレス空間に実在し、かならず三回 flag =1; を実現するコードが生成される。
ただし排他制御は別に自分で記述しなければならない。
他になにかあったかな?
0508デフォルトの名無しさん
2013/12/23(月) 10:36:53.71Qzとかいうゴミカスの炎上学習法(でたらめ教えて訂正してもらう)に
巻き込まれちゃったね、このスレのレスは信用すんなよ
0509デフォルトの名無しさん
2013/12/23(月) 11:00:59.14ぐぐれば過去スレぐらいみつかるんじゃないの?
http://archive.2ch-ranking.net/tech/1379742800.html
の960でしょ?
0510デフォルトの名無しさん
2013/12/23(月) 11:01:48.54USBメモリを用意します
やや大きめのファイルをUSBに書き込みます
ディスクをクローズする手順を省いていきなりUSBを抜きます
再びUSBを差し込んで内容を確認します
2.比較
USBメモリの表面に「ぼらたいる」と書きます
1.と同じ操作を行います
結果を比較してください
0511デフォルトの名無しさん
2013/12/23(月) 11:04:17.10bool flag;
void func(void)
{
while(flag) {
処理
}
}
この場合最適化でwhile(true)に置き換えられるが
volatileを付けるとwhile(flag)のままになる
0512デフォルトの名無しさん
2013/12/23(月) 11:27:16.99> この場合最適化でwhile(true)に置き換えられる
そんな処理系見たことねー
0513デフォルトの名無しさん
2013/12/23(月) 12:10:31.5810年前の書籍を斜め読みしただけの知識で偉そうに最適化について
語んじゃねーよ どうせADW本だろw
0514デフォルトの名無しさん
2013/12/23(月) 12:15:29.150515デフォルトの名無しさん
2013/12/23(月) 12:35:58.100516デフォルトの名無しさん
2013/12/23(月) 12:51:23.640517デフォルトの名無しさん
2013/12/23(月) 20:13:31.730519デフォルトの名無しさん
2013/12/23(月) 20:31:51.72同じネタばかり繰り返して痴呆症って言われない?
0520デフォルトの名無しさん
2013/12/23(月) 20:34:37.63you is a big fool man!
くらいしか知らないからねえ
お前もっとすごいの知ってんの?
0521デフォルトの名無しさん
2013/12/23(月) 20:41:17.990522デフォルトの名無しさん
2013/12/23(月) 22:12:03.850523デフォルトの名無しさん
2013/12/23(月) 23:42:35.98グローバル変数になっていない実装もあるよ < errno
0524デフォルトの名無しさん
2013/12/24(火) 01:28:01.20extern なくても C ならば何の問題もなくコンパイルできるよ、仮定義(tentative definition)、ていうんだよ
0527デフォルトの名無しさん
2013/12/24(火) 04:20:20.99>まず0x0100番地に&strの番地があり
&strは変数strの存在する場所を取得する「式」で「式」は「値」を持つけれど計算過程で出る「値」だから「番地」なんてないよ。
a=1+2;ってあった場合「1+2」って「式」は「3」って「値」を持つけど「番地」なんて無い。
&strって「式」で得られる値が(仮に)0x0100であったりするだけ。
>論理和でstrの番地
イミフ。どっから論理和なんて出てきた。
もういいから普通のアセンブラをいっぺん学んで来い。
0528デフォルトの名無しさん
2013/12/24(火) 08:23:20.810529デフォルトの名無しさん
2013/12/24(火) 08:26:39.16>「番地」なんてない
&strは「0x100番地」という値を生み出す式だろ
何を言っているんだオヌシは
0530デフォルトの名無しさん
2013/12/24(火) 08:51:29.59strの番地は&strで取れるけど&strの番地なんてねぇよ。
0531デフォルトの名無しさん
2013/12/24(火) 11:27:01.830532デフォルトの名無しさん
2013/12/24(火) 11:32:15.780533デフォルトの名無しさん
2013/12/24(火) 11:36:31.390534デフォルトの名無しさん
2013/12/24(火) 12:11:50.99を考えてみろ
0535デフォルトの名無しさん
2013/12/24(火) 12:22:35.33&&42なら42のアドレスを指すアドレスがとれなかったっけ?
0536デフォルトの名無しさん
2013/12/24(火) 12:28:17.590537デフォルトの名無しさん
2013/12/24(火) 12:37:28.350538デフォルトの名無しさん
2013/12/24(火) 12:49:56.33単に、メタ思考ができるかどうかだ。
0539デフォルトの名無しさん
2013/12/24(火) 12:56:20.00もちっと噛み砕いて教えて下さい
0540デフォルトの名無しさん
2013/12/24(火) 13:09:16.40int *ip=&i;
だとすると
iが 0x10 42
&iとipが 0x12 0x10
&(&ip) が「&i」の演算を行ったアドレスである0x12
じゃないの?
0541デフォルトの名無しさん
2013/12/24(火) 13:22:20.400542デフォルトの名無しさん
2013/12/24(火) 13:22:24.16int *ip=&i;
だとすると
iが アドレス0x10 値42
&iとipが アドレス0x12 値0x10
&(&i) が「&i」の演算を行ったアドレスである0x12
じゃないの?
だった
0543デフォルトの名無しさん
2013/12/24(火) 13:53:38.50int i = 42;
int *ip = &i;
int *ip2 = &i;
とする
ipとip2は(今たまたま偶然一緒の値を持った)別の変数なので当然別のアドレスが割り当てられているが
では、君の見解だと&&iは何になるのか?
0544デフォルトの名無しさん
2013/12/24(火) 13:56:54.21おお、演算のたびに変わる不定の値ってことですね!
0545デフォルトの名無しさん
2013/12/24(火) 14:01:01.42そうじゃないよ
そもそもint *ipを定義しないで&&iを使ったらどうなると思ってるの
0546デフォルトの名無しさん
2013/12/24(火) 14:02:02.65まだなんかおかしいな。
&i の演算に追加のメモリが使われるとも限らない。
したがって「アドレス」というものも存在しないかもしれない。
(追加のメモリが必要な別の演算(?)についてはその理解で近いかもしれない。)
いずれにしてもそんな不安定な要素はユーザーから使えないように言語仕様側で配慮されてる。
ここでいうと &&i がコンパイルエラーになるように。
0547デフォルトの名無しさん
2013/12/24(火) 14:11:38.07そもそも参照できないってことですよね?
0548デフォルトの名無しさん
2013/12/24(火) 14:15:58.810549デフォルトの名無しさん
2013/12/24(火) 14:20:29.330550蛇足
2013/12/24(火) 14:45:57.50実際に変数にメモリが割り当てられるかは最適化次第で変わるけどな。
int i=42;printf("%d\n",i);
をコンパイルしてもiにメモリが割り当てられない場合もあるけれど、
int i=42;printf("%p\n",&i);
をコンパイルするとiにメモリが割り当てられる事が期待できるとか。
0551デフォルトの名無しさん
2013/12/24(火) 14:47:00.970552デフォルトの名無しさん
2013/12/24(火) 15:06:42.24でメモリが割り当てられていなかったら42というのはどこに保存されてるの?
0553デフォルトの名無しさん
2013/12/24(火) 15:13:13.150554デフォルトの名無しさん
2013/12/24(火) 15:23:09.95コードを解釈した結果、変数としてメモリに割り当てる必要がないと判断した場合はメモリを割り当てないということ。
レジスタに置いているかもしれないし、そもそも使われないかも知れない。
例えば、int i = 42;と定義していても、そのiを使わないのであればコンパイラは何もしないかもしれない。
0555デフォルトの名無しさん
2013/12/24(火) 15:23:56.74例えばprintf("%d\n",42);のようにプログラムコードに埋め込まれる
一箇所に埋め込まれるとは限らないし元の値を保っていない可能性もある
int i=100,j=rand();printf("%d\n",j/i);とかだと逆数の1<<32倍だかそういう値として埋め込まれるんじゃないかな
0556デフォルトの名無しさん
2013/12/24(火) 15:24:42.25が
printf("%d\n",42);
に最適化されるってことでしょ
0557デフォルトの名無しさん
2013/12/24(火) 15:34:19.840558デフォルトの名無しさん
2013/12/24(火) 15:53:57.28イミディエイトになる場合がある
0559デフォルトの名無しさん
2013/12/24(火) 16:52:08.22その説明がわかる相手だと思うのか?w
0560デフォルトの名無しさん
2013/12/24(火) 17:46:54.21ttp://baito.mynavi.jp/cl/002160706061/
こういう場合ですね(キリッ
0561デフォルトの名無しさん
2013/12/24(火) 19:44:20.590562デフォルトの名無しさん
2013/12/24(火) 20:02:36.58実数除算の場合も2の冪だったら掛け算にすると思う。
0563デフォルトの名無しさん
2013/12/24(火) 20:04:24.87今は、全部1クロックでできるんだから恐ろしい時代になったものだ
0564デフォルトの名無しさん
2013/12/24(火) 20:33:27.07スループットなら1クロックになるかもだが
0565デフォルトの名無しさん
2013/12/24(火) 20:38:54.51タイムワープでもしてきた?
0566デフォルトの名無しさん
2013/12/24(火) 20:47:52.740567デフォルトの名無しさん
2013/12/24(火) 21:08:13.800568デフォルトの名無しさん
2013/12/24(火) 21:09:38.070569デフォルトの名無しさん
2013/12/24(火) 23:34:45.50何いってるかちょっとわからないのでkwsk
0570デフォルトの名無しさん
2013/12/25(水) 02:17:18.76消化器機能の分化度はあんまし関係ない
0571デフォルトの名無しさん
2013/12/25(水) 08:06:31.99もせ3エンコ以外には使えないと噂されて
実際その通りだったPentium 4は21世紀だった様な気が。
スルスルだなんてとんでもない
0572デフォルトの名無しさん
2013/12/25(水) 08:49:11.50今朝、寝ながらオナラして
うんこ漏れたかもと思って急いでトイレ駆け込んだわ
0573デフォルトの名無しさん
2013/12/25(水) 09:46:03.970574デフォルトの名無しさん
2013/12/25(水) 10:06:44.660575デフォルトの名無しさん
2013/12/25(水) 22:53:26.21少しずつ盗まれてるらしいな
0576デフォルトの名無しさん
2013/12/25(水) 22:59:38.50A重油?B重油?
0577デフォルトの名無しさん
2013/12/25(水) 23:05:59.98そこまで詳しく知らんw
貧困で苦しむ国のドキュメンタリーか何かでやってた
それでさらにそういう盗人専用のガソリン精製屋がいて
盗んだ重油をそこに持ち込むとガソリンを精製してしてもらえるらしい
そしてそれを道端で売って生活の足しにするそうな
0578デフォルトの名無しさん
2013/12/26(木) 02:56:57.89作れないかと。A重油であれば軽油替わりに使う事は可能。
原油と勘違いしているのではないかと
0579デフォルトの名無しさん
2013/12/26(木) 04:35:07.74>>578
原油の精製って結構コスト掛かるんじゃないの?
0580デフォルトの名無しさん
2013/12/26(木) 04:55:30.69*****fuck;
0581デフォルトの名無しさん
2013/12/28(土) 00:55:32.32vectorに同じ値(int)を入れてsortとすると
invalid operator< とエラーが出てしまいます。
std::vector<int> v;
v.push_back(1);
v.push_back(1);
std::sort(v.begin(),v.end(),std::not2(std::less<int>()));
回避策は無いでしょうか?
0582デフォルトの名無しさん
2013/12/28(土) 01:20:35.60std::not2(std::less<int>()) は Strict Weak Ordering にならないからね。
http://d.hatena.ne.jp/Cryolite/20040529#p3
逆順ソートがしたいなら greater<int> でいいんじゃね?
0583デフォルトの名無しさん
2013/12/28(土) 04:55:21.72>回避策は無いでしょうか?
STLという言葉を使う奴は本当に馬鹿だな
間違っているからエラーになるわけで
「正しい書き方を教えて下さい」って言うんだよ
0584デフォルトの名無しさん
2013/12/28(土) 10:38:18.170585デフォルトの名無しさん
2013/12/29(日) 08:10:57.240586デフォルトの名無しさん
2013/12/29(日) 12:47:36.43これでエラーを出さないBCCも相当糞だな
VCかgccだけにしようっと
0587デフォルトの名無しさん
2013/12/29(日) 12:59:13.66v.push_back(1);
v.push_back(1);
std::sort(std::begin(v), std::end(v), std::not2(std::less<int>()));
for (int i : v)
std::cout << i << " ";
std::cout << std::endl;
おい、これgccでもエラーでないぞ
何かオプション付けないとだめなの?
0588デフォルトの名無しさん
2013/12/29(日) 12:59:20.76イミフなんだけど、同じ値が入ってるから?
同じ値が入ってるときはsortできないって・・・
STLも糞だなw
0589デフォルトの名無しさん
2013/12/29(日) 13:02:03.60決まりを守らない方が悪い
だったらSTL使うなよ
使っておいて文句言う資格はない
0590デフォルトの名無しさん
2013/12/29(日) 13:13:03.100591デフォルトの名無しさん
2013/12/29(日) 13:16:52.690592デフォルトの名無しさん
2013/12/29(日) 13:21:30.97使ってねーよ
だから、イミフってかいてんじゃんw
朝鮮人かよhw
0593デフォルトの名無しさん
2013/12/29(日) 13:29:01.33イミフなのはお前の頭のせい。>>582のリンク先読んだか?
同じ値があるとsort出来ないんじゃないよ
0594デフォルトの名無しさん
2013/12/29(日) 13:31:08.600595デフォルトの名無しさん
2013/12/29(日) 13:37:58.08念のため言っておくけど、規格上はおかしな比較関数を渡した時点で同じ値が無くてもダメだよ。
0596デフォルトの名無しさん
2013/12/29(日) 13:43:48.62自分じゃ説明できないのねw
0597デフォルトの名無しさん
2013/12/29(日) 13:44:27.10新手の煽り?
0598デフォルトの名無しさん
2013/12/29(日) 13:49:27.400599デフォルトの名無しさん
2013/12/29(日) 14:09:23.00>comp
>Binary function that accepts two elements in the range as arguments,
>and returns a value convertible to bool. The value returned indicates
>whether the element passed as first argument is considered to go before the second
>in the specific strict weak ordering it defines.
>The function shall not modify any of its arguments.
>This can either be a function pointer or a function object.
というわけだから、compがStrict Weak Orderingじゃなかったら既に未定義なんですよ
ソートの結果がどうなるとかいうレベルの問題ではない
0600デフォルトの名無しさん
2013/12/29(日) 14:15:49.01hitugi
0601デフォルトの名無しさん
2013/12/29(日) 14:29:10.03つおい
0602デフォルトの名無しさん
2013/12/29(日) 15:07:34.85lessでソートする糞設計だからこういう誤りが簡単に起きる
0603デフォルトの名無しさん
2013/12/29(日) 15:10:34.54だったらお前が作れよhw
0604デフォルトの名無しさん
2013/12/29(日) 15:59:21.96動物園で「あのキリンさんだけ首短いね」という子供に
「短いというからにはお前はそのキリンよりクビが長いのか?」
というようなもの。
0605デフォルトの名無しさん
2013/12/29(日) 16:09:24.11たとえが的外れ杉 (w
0606デフォルトの名無しさん
2013/12/29(日) 16:12:18.35というようなもん
0607デフォルトの名無しさん
2013/12/29(日) 16:16:49.62嫌なら見なければいいだろ
>>607
嫌なら見なくていいよ
0608デフォルトの名無しさん
2013/12/29(日) 16:21:59.550610デフォルトの名無しさん
2013/12/29(日) 22:56:43.800611デフォルトの名無しさん
2013/12/30(月) 10:50:58.32それはおかしくないな
0612デフォルトの名無しさん
2013/12/30(月) 10:51:00.96単なる無限ループだろ
0613デフォルトの名無しさん
2014/01/01(水) 20:20:46.030614デフォルトの名無しさん
2014/01/02(木) 13:11:42.48嵐がいなければこんなペースでいい
0615デフォルトの名無しさん
2014/01/05(日) 11:05:50.11そのクラスのメンバにアクセスしたいんだけど、
以下のコードで、「-> か ->* の左には構造体のポインタが必要」と怒られる。
どうすればメンバにアクセスできる?
std::list<TSampleClass *>::iterator itr = m_MyList.begin();
while (itr != m_MyList.end()) {
int i = itr->member1;
++itr;
}
0616デフォルトの名無しさん
2014/01/05(日) 11:08:40.410618デフォルトの名無しさん
2014/01/05(日) 11:33:44.30double x[2][3];
は
x[2]が3つあるって理解じゃダメなのか
0619デフォルトの名無しさん
2014/01/05(日) 11:44:57.96int a[][3] = {{1,2,3,},{4,5,6,},};
ex2)
(x[0])[2] = 3.14;
0620デフォルトの名無しさん
2014/01/05(日) 11:52:48.330621デフォルトの名無しさん
2014/01/05(日) 12:31:33.66char s[3][128] = {"aaa", "bbb", "ccc"};
文字列が3つある
つまりx[2][3]は3つのまとまった数値が2つある
0622デフォルトの名無しさん
2014/01/05(日) 17:41:33.64int* a,b;だとaしかポインタにならないってTipsが有るとか残念過ぎる。
0623デフォルトの名無しさん
2014/01/05(日) 17:48:06.50そんな変な書き方をするからだ
int *a, b;
int がdecl-specifier
*a と b がそれぞれdeclarator
これでスッキリ
0624デフォルトの名無しさん
2014/01/05(日) 17:53:21.81そんなバッドノウハウが必要な修飾規則になってるのが残念だって言ってるんだよ。
0625デフォルトの名無しさん
2014/01/05(日) 17:53:59.250626デフォルトの名無しさん
2014/01/05(日) 18:38:02.20言語仕様自体がKUSOというのならともかく。
0627デフォルトの名無しさん
2014/01/05(日) 19:56:29.11バッドノウハウとかあほじゃね
intという型のポインタa
intという型の変数b
当たり前やん
0628デフォルトの名無しさん
2014/01/05(日) 19:59:51.70とりあえず、無理に、一行に複数書かなくていいんだぜ int *a; int b;
C/C++は、ごちゃごちゃとしたstructの扱いに秀でてるから、そういうソースにも慣れてくる
それこそ、いまどきなら、ごちゃごちゃとしたところをC/C++に追いやって、
上位をJavaなりC#なりで書き上げたっていいわけだ
0629624
2014/01/05(日) 20:04:56.83本当に申し訳ありませんでした。深く謝罪いたします。
とにかくバッドノウハウと言いたいの一心で書き込んでしまいました。
ほんとうに申し訳ありませんでした。
その程度で謝罪したりしていたら早死にしちゃうよwww
匿名なんだから大胆に書いて反応を楽しむ、くらいでもいいと思うよ、まあ粘着はやめておいたほうがいいね
QZみたいに図太くずうずうしく楽しむがよい
0631デフォルトの名無しさん
2014/01/05(日) 20:53:56.26>>629
ナイスC++erになってナイス回答10本なw
0632デフォルトの名無しさん
2014/01/05(日) 23:37:52.38hoge基地害ざまぁwwwww
0633デフォルトの名無しさん
2014/01/06(月) 00:03:30.76int がdecl-specifier
*a と b がそれぞれdeclarator
これでスッキリ、かと思いきや
int * や int がtype-id
C++の文法はKUSO
0634デフォルトの名無しさん
2014/01/06(月) 00:41:23.54はいはい、それはCを引きずってるだけだよ
お前にはC/C++は不向きでストレス溜めるだけだからもう2度と関わるな
0635デフォルトの名無しさん
2014/01/06(月) 04:02:04.27printf("%x", c); //c は char型
したときに
ffffff80
と出力される変数cがあるのですが、
この変数cを int の 8に変換したい場合
どのようなコードを書けばよいでしょうか。
環境はWindowsのMinGWです。
よろしくお願いします。
0636片山博文MZコスモ ◆T6xkBnTXz7B0
2014/01/06(月) 04:12:08.428にしたいなら c >>= 4;でどうだ?
ffffffをなくしたいなら、unsigned charにキャストだ。
0637デフォルトの名無しさん
2014/01/06(月) 04:30:08.210638デフォルトの名無しさん
2014/01/06(月) 04:31:17.25よくわからんがこれでいいんか?
0639デフォルトの名無しさん
2014/01/06(月) 06:01:37.760640デフォルトの名無しさん
2014/01/06(月) 09:55:39.940641デフォルトの名無しさん
2014/01/06(月) 10:01:55.66BCDみたいな扱いで1桁だけ取り出したいとか
0642デフォルトの名無しさん
2014/01/06(月) 10:03:56.920643デフォルトの名無しさん
2014/01/06(月) 10:06:58.880644デフォルトの名無しさん
2014/01/06(月) 12:32:21.61今まで独自で規則を作っていましたが、いい加減ルールを統一しようと思いました。
とりあえず、googleのスタイルガイドでやってみようと思ったのですが、インスタンス(オブジェクト)の命名規則がよくわかりませんでした。
そこでみなさんの命名規則を参考にしたいのですが、独自で作成したクラスのインスタンスの変数名はどんな感じにしていますか?
(例)
ファイル名
myClass.cpp
使用時
myClass i_myClass; //iPhoneなので全角セミコロンすみません
0645デフォルトの名無しさん
2014/01/06(月) 12:41:46.57まず日本語が怪しい奴には無理だな
0646デフォルトの名無しさん
2014/01/06(月) 12:45:43.35i = _getch();
printf("入力された数値は%dです。",i);
0647デフォルトの名無しさん
2014/01/06(月) 12:45:43.43クラス名にCamel形式は馬鹿っぽいので止めた方がいいぞ
>i_myClass
キモすぎだろう
>iPhoneなので全角
馬鹿は死ぬまでなんとやら
0648645
2014/01/06(月) 12:49:57.24ある程度規則を作っていますが、作っていくうちに、こっちの方がいいんじゃないかと試行錯誤してすこしずつ変わっていっています。
それなら、ベースをすでにあるものにすれば、そういった迷いが減るかなと思いました。
0649645
2014/01/06(月) 12:52:21.86キャメルじゃないとなると、スネークがオススメということですか?
0650デフォルトの名無しさん
2014/01/06(月) 13:32:20.850651デフォルトの名無しさん
2014/01/06(月) 13:46:37.040652デフォルトの名無しさん
2014/01/06(月) 13:47:26.47GNUソースで混乱必死ですね
0653デフォルトの名無しさん
2014/01/06(月) 14:01:23.61クラス名は普通パスカルケースだろ?Java世界でさえ
0654645
2014/01/06(月) 14:35:33.87インスタンス生成はどんな感じですかね。
クラス名の前後どちらかに何かの文字を入れてるんでしょうか?
MyClass ?MyClass?
0655デフォルトの名無しさん
2014/01/06(月) 15:17:35.250656デフォルトの名無しさん
2014/01/06(月) 16:23:30.860657デフォルトの名無しさん
2014/01/06(月) 17:53:23.01変です
Javaのメソッド名のように 動詞+名詞
のパターンではおかしくないが
先頭小文字名詞と先頭大文字名詞の混在や
先頭大文字形容詞と先頭小文字形容詞の混在ネーミングは
自然言語のセンスを疑ってしまう
longLongUnko
unko / unkoEater / bigUnko
0658デフォルトの名無しさん
2014/01/06(月) 19:31:41.30そしてクラスは宣言する場所によって大文字小文字が変わるグローバルならg_を付けて小文字で始め、次から単語単位で大文字
◇クラス名
MYCLASS
◇グローバル
MYCLASS g_myClass;
◇構造体やクラス内では小文字で始まり次から単語単位で大文字
MYCLASS myClass;
◇関数内は全部小文字
MYCLASS myclass;
これは構造体やその他変数の場合も同じ
クラス以外は以下の通り
◇関数は最初から単語単位で大文字
int MyFunc();
一目見ればどういった変数か分かる
0659片山博文MZコスモ ◆T6xkBnTXz7B0
2014/01/06(月) 19:34:58.020660デフォルトの名無しさん
2014/01/06(月) 19:45:58.14namespace使えば?
0661デフォルトの名無しさん
2014/01/06(月) 19:53:31.27オープンソースのmmdagentでも眺めてみたら
0662デフォルトの名無しさん
2014/01/06(月) 20:24:25.790663デフォルトの名無しさん
2014/01/06(月) 20:25:41.54wchar *wcpName;
int iHeight;
setName();
setHeight();
とかだな
0664デフォルトの名無しさん
2014/01/06(月) 20:55:57.760665デフォルトの名無しさん
2014/01/06(月) 20:59:25.52コードの書き方って会社ごとに決まってるとは限らないのでしょうか?
前回はこう書いたけど今回はこうね!みたいな感じに
0666デフォルトの名無しさん
2014/01/06(月) 21:01:33.68??<
PRINTF("HELLO WORLD??/");
??>
0667デフォルトの名無しさん
2014/01/06(月) 21:03:58.20正 ??/N
0668デフォルトの名無しさん
2014/01/06(月) 21:06:56.02コンパイルエラー
0669デフォルトの名無しさん
2014/01/06(月) 21:15:47.59時代錯誤が甚だしい言語仕様
0670デフォルトの名無しさん
2014/01/06(月) 21:20:15.13for ($=0; $ < 10; $++)
printf("$ = %d\n", $);
0671デフォルトの名無しさん
2014/01/06(月) 22:55:21.47A$ = "モジヘンスウノレンシュウ";
0672デフォルトの名無しさん
2014/01/06(月) 22:58:34.52喪磁返崇 乃連襲!
0673デフォルトの名無しさん
2014/01/07(火) 03:08:34.19auto* s = R"(c:�ミみつ\test.csv)";
0674デフォルトの名無しさん
2014/01/07(火) 08:07:39.38C++の規格のサンプルコードを全否定ですか?
0675デフォルトの名無しさん
2014/01/07(火) 12:14:20.15>>673
auto* ってできるの?
飯食ってくる
0677675
2014/01/07(火) 16:24:16.83またhogeか
0678デフォルトの名無しさん
2014/01/07(火) 16:37:23.76自分で試せ
0679デフォルトの名無しさん
2014/01/07(火) 17:10:59.38飯食ったらすぐ現場だった 異業種です
できるのか、こりゃおもしれえ。ためします
>>677
俺が二人いる
0680デフォルトの名無しさん
2014/01/07(火) 19:11:18.83こんなコード書く機会は無いのだがこれが通ってしまうのは仕様?
0681デフォルトの名無しさん
2014/01/07(火) 19:13:57.01何か問題でも?
0682デフォルトの名無しさん
2014/01/07(火) 19:21:59.61いや問題は無いけど・・・
Cの方ばっかりやってたからちょい感動したw
0683デフォルトの名無しさん
2014/01/07(火) 19:26:04.25http://ideone.com/64f6S8
このvectorの使い方って有り?
0684デフォルトの名無しさん
2014/01/07(火) 19:34:10.21気持ち悪いからvectorをnewするな。話はそれからだ。
つーか、どうしても全く無意味にnewしたいならdeleteしろ。
0685デフォルトの名無しさん
2014/01/07(火) 19:36:05.19そうだったdelete書き忘れてた・・・
deleteすれば間違ってはいない?
0686デフォルトの名無しさん
2014/01/07(火) 19:36:17.99それからCスタイルキャストはやめろ。
0687デフォルトの名無しさん
2014/01/07(火) 19:37:25.94バグの温床で全く意味がないのにどうしてもnewしたいなら止めないが、
考え方としては大間違いだ。
0688デフォルトの名無しさん
2014/01/07(火) 19:39:26.53ちなみに一番ベターな感じに書くとどんな感じになりますか?
0689デフォルトの名無しさん
2014/01/07(火) 19:47:56.90>一番ベター
意味不明な言葉を口走らなくなってから出直せ言語障害
0690デフォルトの名無しさん
2014/01/07(火) 19:48:09.40newを恐れるようではこの先何も出来ない。
ちなみに、そんなすぐmainを抜ける短いプログラムでdeleteなんぞしなくていい。
deleteしたいときだけすればいいんだ。
0691デフォルトの名無しさん
2014/01/07(火) 19:50:15.98このAとBの違いと一緒
----A
void test(void);
int main(void)
{
test();
}
void test(void)
{
}
----B
void test()
{
}
int main(void)
{
test();
}
0692デフォルトの名無しさん
2014/01/07(火) 19:50:33.58Cだとできないの?
0693デフォルトの名無しさん
2014/01/07(火) 19:50:50.42ありがと
もう少しvectorについて勉強してみます
0694デフォルトの名無しさん
2014/01/07(火) 19:51:01.470695デフォルトの名無しさん
2014/01/07(火) 19:54:03.760696デフォルトの名無しさん
2014/01/07(火) 19:54:15.28いあ
どんなに短いプログラムでもdeleteする癖つけといた方がいいぞ
0697デフォルトの名無しさん
2014/01/07(火) 19:55:17.300698デフォルトの名無しさん
2014/01/07(火) 19:58:04.000699デフォルトの名無しさん
2014/01/07(火) 20:03:04.96newしたって構わないだろ
移動コンストラクタが無かった時代には
auto_ptr<vector<string> >とかやったぞ
0700デフォルトの名無しさん
2014/01/07(火) 20:05:14.060701デフォルトの名無しさん
2014/01/07(火) 20:05:34.96auto_ptrがあるなし関係ない
0702デフォルトの名無しさん
2014/01/07(火) 20:10:47.81この悪党!
0703デフォルトの名無しさん
2014/01/07(火) 20:15:58.51free/deleteはクセつけといたほうがよくね?
リークチェックが非常に面倒になるぞ
valgrindで見なかった事リストを登録したり
ヘタすればJava的手法になってしまう
0704デフォルトの名無しさん
2014/01/07(火) 20:16:40.40>>690
ね
0705デフォルトの名無しさん
2014/01/07(火) 20:22:04.850706デフォルトの名無しさん
2014/01/07(火) 20:22:11.55ほっといていいなら、ほっといていい。
0707デフォルトの名無しさん
2014/01/07(火) 20:25:28.37今時メモリ解放なんて気にするだけ無駄
0708デフォルトの名無しさん
2014/01/07(火) 20:29:30.11「解放しなければなりません」とかいてあったら、解放してから次を確保
0709デフォルトの名無しさん
2014/01/07(火) 20:33:45.50ええんやでw
0710デフォルトの名無しさん
2014/01/07(火) 20:33:49.25どうせ他の部分にバグがあったんだろ
再現できる最小構成のソースをideoneにでもあげてみろよ
0711デフォルトの名無しさん
2014/01/07(火) 20:48:03.98えっ?!
0712デフォルトの名無しさん
2014/01/07(火) 20:53:51.71言ってる意味が分かんない
>>708
キャッシュしてるだけじゃないの?
0713デフォルトの名無しさん
2014/01/07(火) 20:57:10.280714デフォルトの名無しさん
2014/01/07(火) 21:03:15.85mallocの後にfree不要と言うバカいるの?Part2
http://toro.2ch.net/test/read.cgi/tech/1359549517/
0715デフォルトの名無しさん
2014/01/07(火) 21:03:24.51まじx11勘弁して欲しい
0716デフォルトの名無しさん
2014/01/07(火) 21:11:38.78そんなバカなプログラムがあるか
0717デフォルトの名無しさん
2014/01/07(火) 21:19:36.540718デフォルトの名無しさん
2014/01/07(火) 21:33:39.180719デフォルトの名無しさん
2014/01/07(火) 21:44:21.860720デフォルトの名無しさん
2014/01/07(火) 21:55:54.28わざわざその vector を new するとかマゾとしか思えん…
0721デフォルトの名無しさん
2014/01/07(火) 22:07:25.160722デフォルトの名無しさん
2014/01/07(火) 22:07:29.27配列の代わりにvectorを使えといいつつ
関数の戻り値に使いたいときどうするかの答えを持ち合わせていない奴が
今はムーヴで解決されたけど
0723デフォルトの名無しさん
2014/01/07(火) 22:09:16.47?
参照で渡せばいいじゃん
0724デフォルトの名無しさん
2014/01/07(火) 22:16:05.940725デフォルトの名無しさん
2014/01/07(火) 22:17:40.12変換operatorでvectorを返したいのですが
自動変数の参照を返してもよいのでしょうか
0726デフォルトの名無しさん
2014/01/07(火) 22:18:38.12奇遇だな
俺もよく>>722みたいな人に会うよ
でもほとんどの場合、関数の戻り値に使いたいという点に合理的な理由が無い
0727デフォルトの名無しさん
2014/01/07(火) 22:22:14.00何かの一覧を作成して返したい
というのは極めて一般的じゃないのか?
0728デフォルトの名無しさん
2014/01/07(火) 22:25:43.62その場合は>>723で事足りるし、
関数型言語のような連結を行いたいなら、
受け取った引数の参照を返せば良いと言うのが僕の意見
0729デフォルトの名無しさん
2014/01/07(火) 22:27:32.52・返り値として返す
・参照渡しな引数の内容を書き換える
・ポインタ渡しでもらって、指し先の内容を書き換える
メモリコスト的にでかいものを返り値として返すのには抵抗があるな
0730片山博文MZコスモ ◆T6xkBnTXz7B0
2014/01/07(火) 22:29:47.34自動変数へのポインタを返すのと同じく駄目。参照引数で渡せ
0731片山博文MZコスモ ◆T6xkBnTXz7B0
2014/01/07(火) 22:33:03.270732デフォルトの名無しさん
2014/01/07(火) 22:34:12.11起動時に作成して終了時に閉じるから必要ない時は非表示にしてる
つまり起動時にnewして終了時にdeleteするから必要無い時にも存在してる
的外れな例えしてると思わないか?
0733デフォルトの名無しさん
2014/01/07(火) 22:56:20.19「何かの一覧を作成して返したい」
という極めて一般的な要求に対して
自分は抵抗感がある とか
言語仕様上の問題から参照で回避可能 とか
はわかったのだけれど、
それで「戻り値返しに合理的な理由が無い」
なんて 頭おかしいのでは?
0734デフォルトの名無しさん
2014/01/07(火) 23:05:09.59戻り値で返すっていう手段に合理的な説明なし
一般的とかオレオレ主観
安全でデメリットもない代替案に対して頭おかしい扱い
うわぁ…
0735デフォルトの名無しさん
2014/01/07(火) 23:12:52.65戻り値として配列を返すとしてエラー処理はどうする?
0736デフォルトの名無しさん
2014/01/07(火) 23:15:46.77例外でおk
0737デフォルトの名無しさん
2014/01/07(火) 23:15:56.16例外をスローするのが筋かと
0738デフォルトの名無しさん
2014/01/07(火) 23:17:44.300739デフォルトの名無しさん
2014/01/07(火) 23:18:01.66多分関数内部で new するような話なのかな?
C++ では RAII で実現するのが良いとされているので、そもそもそういう実装が時代遅れな気が。
ポリモーフィズムを実現するためには new/delete を使うのが楽だけど、これはまた別の話。
データ構造としての配列が必要なら、vectorを代替として使うのがC++流だと思う。
C++流にC脳で対応しようとするから戻り値にこだわりたくなるのでは?
但し、>>722の最後の一言で全て解決。
C++11 以降なら何も気にせず堂々と戻り値で返せばいい。
そうでなくとも RVO/NRVO が期待できるので、実は気にしなくて良いレベルだったりするが。
0740デフォルトの名無しさん
2014/01/07(火) 23:19:52.50戻り値で返したいという人がいる以上
それができないのはデメリットそのものでしょ。
不要であると主張する側がその理由を説明するのが筋
0741デフォルトの名無しさん
2014/01/07(火) 23:23:38.10これでc++03でも解決
ただしここはグローバル変数をオススメしたい
メモリリークとも無縁
0742デフォルトの名無しさん
2014/01/07(火) 23:26:12.460743デフォルトの名無しさん
2014/01/07(火) 23:26:55.81なんか勘違いしているね
戻り値で返したいっていうのは要求とは言わないよ
それは開発者のわがまま
僕はプログラムのメリットを話しているのに、君は君自身のデメリットを話している
そういうスタンスなら、君の責任でそうしたければそうすれば?としか言いようが無いよ
0744デフォルトの名無しさん
2014/01/07(火) 23:32:44.38つまりvectorは配列の代替として使えなくはないけれど
完全ではないと言うことですね(プゲラ
A「これをつかえ!」
B「このばあいはできないだろ!」
A「こうすればかいひできる!」
B「なんでそんなスタイルねじまげなきゃならんの!」
>>743「僕はプログラムのメリットを話しているのに、君は君自身のデメリットを話している」
もう精神科に行ったほうがよいのではないかと…
0745デフォルトの名無しさん
2014/01/07(火) 23:37:46.840746デフォルトの名無しさん
2014/01/07(火) 23:38:58.97operator使わずに自前の関数に参照渡ししかない?
0747デフォルトの名無しさん
2014/01/07(火) 23:49:14.91スマポ派はExceptional何とかを読んでチキンになっただけです。
でもnewと同時にスマポのコンストラクタに入れておけば安全らしいことを覚えたので、
newは上等です。
0748デフォルトの名無しさん
2014/01/07(火) 23:49:29.02趣味プログラマ?
だったら君の道を行けばいいと思うよ
でも職業プログラマだったら、
プログラムスタイルに対する変なこだわりは捨てる事をおすすめするよ
ソフトウェア制作で重要なのは、そのソフトの要求を満たす事であって、開発者の要求を満たすことじゃないから
こうすれば不具合の起きにくい作り方になるっていう意見に対して、僕のスタイルに合わないから嫌だっていうのはわがままじゃないのか?
理論的に説明している件に対して、頭がおかしい扱いするとか、釣だよな?
0749デフォルトの名無しさん
2014/01/07(火) 23:52:05.22もうほっとけよ
頭おかしいヤツの相手すな
0750デフォルトの名無しさん
2014/01/07(火) 23:54:59.390751デフォルトの名無しさん
2014/01/08(水) 00:00:02.94肩の力抜けって
確かに>>744は頭悪そうで物言いも気分悪いがここは 2ch
0752デフォルトの名無しさん
2014/01/08(水) 00:00:28.040753デフォルトの名無しさん
2014/01/08(水) 00:03:51.81>>僕のスタイルに合わないから嫌だっていうのはわがままじゃないのか?
話を逸らしたな。
「安全の為にはvectorを使って参照渡し方がいい」
というのであれば特に文句はない。
>>726が「vectorの戻り値スタイルには合理性がないから俺の参照スタイルを使え」
と言ったのに合理性が無いことを説明できないので
頭おかしいの?と訊いたまでだが。
で結局、説明できないだろ?
0754デフォルトの名無しさん
2014/01/08(水) 00:04:28.21f(x)のxに値を入れた場合、f(x)が値を持つのが当り前の事だ。
だから実質的に戻り値が無くても、voidの値を持っていると言う事になっているので、
頭にvoidを付けるのさ。
戻り値の無いプログラムなんて無い。
基本的に戻り値で返すべき。
0755デフォルトの名無しさん
2014/01/08(水) 00:04:33.72コンテナ使っても同じことだしね。
サーバソフトウェアでは、一定回数レスポンスするとプロセスごと
再起動するものもあるね。
そのために、プロセス間でファイルディスクリプタの移動ができるOSもあるね。
0756748
2014/01/08(水) 00:08:04.60後半の話おかしくね?
誰も vector の戻り値スタイルに関しては話していないと思うけど。
生配列(ポインタ)戻し vs vector 運用 (引数でも戻り値でも) という流れだったのでは?
人が入れ替わって主張がズレてきているのかな?
0757デフォルトの名無しさん
2014/01/08(水) 00:10:46.920758756
2014/01/08(水) 00:10:49.47昔の書き込み時の名残で748って名前に入っちゃたけど、この流れでは初めての書き込みです。
0759デフォルトの名無しさん
2014/01/08(水) 00:13:43.27誰もお前の糞書き込みなんて気にも止めないから黙っててね^^
0760デフォルトの名無しさん
2014/01/08(水) 00:13:50.59それとは別に一プログラマとして開発はこうあるべきと考えていて良いだろう
0761デフォルトの名無しさん
2014/01/08(水) 00:14:23.32vector を戻り値で返すのは問題無いと思うよ
でも君は>>722で vector を戻り値で返すことに異論を唱えたのじゃないのか?
0762デフォルトの名無しさん
2014/01/08(水) 00:15:27.40722はRAIすら知りませんで終わった話しでしょ
0763片山博文MZコスモ ◆T6xkBnTXz7B0
2014/01/08(水) 00:16:52.77xが定義域の外にあった場合、f(x)は未定義。後半に論理の飛躍がある。
昔は戻り値としてサイズの大きい構造体を返すのはのは計算コストが高かっった。
0764デフォルトの名無しさん
2014/01/08(水) 00:19:21.980765デフォルトの名無しさん
2014/01/08(水) 00:21:09.220766デフォルトの名無しさん
2014/01/08(水) 00:21:28.79文脈で分かるじゃん
0767デフォルトの名無しさん
2014/01/08(水) 00:21:39.20エラーじゃねえか
0768デフォルトの名無しさん
2014/01/08(水) 00:25:16.73deleteは権利よ。deleteしたいときにできるのがいいんじゃないか。
0769デフォルトの名無しさん
2014/01/08(水) 00:25:19.810770デフォルトの名無しさん
2014/01/08(水) 00:25:57.280771デフォルトの名無しさん
2014/01/08(水) 00:26:07.69おいやめろばか
0772デフォルトの名無しさん
2014/01/08(水) 00:26:40.49そもそも何を話す事があるのかわからんしね
現仕様じゃ解決したネタ
古いコンパイラだとしても
返したきゃ返せばいいエラー処理は例外で
ただ、コストがネックになるケースもあるから
参照で渡すといいよ
という親切心からの代替手段まで提示してもらってるのに
呼び出し元でのmallocがどうちゃらってレベルの話しだしなぁ
malloc,new,init,create/free,delete,destoroy,term
呼び出し元のRAIIでいいじゃないのよ
0773デフォルトの名無しさん
2014/01/08(水) 00:29:13.19あぁ・・・このレベルなのか
とスルーされただけじゃないかな
0774デフォルトの名無しさん
2014/01/08(水) 00:30:49.28それで間違っていたと気付けばスキルアップだ。恥ずかしいとか思うな
0775デフォルトの名無しさん
2014/01/08(水) 00:31:14.260776片山博文MZコスモ ◆T6xkBnTXz7B0
2014/01/08(水) 00:33:54.690777デフォルトの名無しさん
2014/01/08(水) 00:36:34.65スコープだよ
グラフ化して汚ねぇ木だなと言われればおk
0778デフォルトの名無しさん
2014/01/08(水) 00:37:28.58RAIIの意味は知っているのかい?
0779デフォルトの名無しさん
2014/01/08(水) 00:39:59.406.一見、関係がありそうで関係のない話 を始める
「ところで、カモノハシは卵を産むのを知っ ているか?」
0780デフォルトの名無しさん
2014/01/08(水) 00:42:12.23xが定義外でfの定義で計算されるなら、voidでも値は持つだろ
何も返さない関数なんてあるかよ
0781デフォルトの名無しさん
2014/01/08(水) 00:42:26.34そろそろ寝て明日に備えようぜ!
0782片山博文MZコスモ ◆T6xkBnTXz7B0
2014/01/08(水) 00:43:20.830783デフォルトの名無しさん
2014/01/08(水) 00:45:56.12xが定義外だったら例外をスローする
0784デフォルトの名無しさん
2014/01/08(水) 00:47:25.800785デフォルトの名無しさん
2014/01/08(水) 00:47:31.59xが未定義 と f の入力が範囲外 をすりかえている。
fが計算可能ならそれは入力範囲内
0786片山博文MZコスモ ◆T6xkBnTXz7B0
2014/01/08(水) 00:47:40.68定義域が制限された関数の場合。
例外処理の場合。
0787デフォルトの名無しさん
2014/01/08(水) 00:52:58.92定義域の定義に反する
0788デフォルトの名無しさん
2014/01/08(水) 00:53:44.24計算出来れば当然何か値を持つはずだ。
そうじゃないとf(x)呼び出した時点でプログラムが終わるだろ。
0789デフォルトの名無しさん
2014/01/08(水) 00:58:53.16中で永久ループにでならない限り呼出元に戻るだろ
その時に値を返す関数ならその値を返すし、無ければ戻り値無しと言う事を呼出元に返してんだよ。
だから戻り値が無い関数なんて無いし、そんなのは関数じゃないんだよ
0790片山博文MZコスモ ◆T6xkBnTXz7B0
2014/01/08(水) 00:59:07.32fの外側の割り込みハンドラーや例外処理で回復する可能性もある。
だから計算可能性と実行可能性は等しくない。
0791デフォルトの名無しさん
2014/01/08(水) 01:03:25.21その後の処理が出来るんだろつの
0792片山博文コスモ ◆T6xkBnTXz7B0
2014/01/08(水) 01:04:20.09無限ループや割り込み発生でも戻らないことがある。
君はnoreturn関数を知らなかった
0793デフォルトの名無しさん
2014/01/08(水) 01:06:29.93exit命令で抜けてるだろ。exitで抜けた事が出てるだろっつの
0794デフォルトの名無しさん
2014/01/08(水) 01:10:55.180795片山博文MZコスモ ◆T6xkBnTXz7B0
2014/01/08(水) 01:11:34.26{
exit(0);
return x+1;
}
int g(void)
{
return f(1);
}
関数gが受け取るfの戻り値はいくらか?
0796デフォルトの名無しさん
2014/01/08(水) 01:12:49.240797デフォルトの名無しさん
2014/01/08(水) 01:17:15.66noreturnの付いた関数ならその関数から次の関数に何かしらの値を渡すってだけ
値が無いって事は絶対に無い
0798デフォルトの名無しさん
2014/01/08(水) 01:19:04.420799デフォルトの名無しさん
2014/01/08(水) 01:20:40.25A→■ A→■→B ってだけ
A←
0800デフォルトの名無しさん
2014/01/08(水) 01:26:35.040801デフォルトの名無しさん
2014/01/08(水) 01:33:26.77君、ちょっと黙ってて
0802デフォルトの名無しさん
2014/01/08(水) 01:43:33.120803デフォルトの名無しさん
2014/01/08(水) 01:55:34.520804デフォルトの名無しさん
2014/01/08(水) 02:10:49.580805デフォルトの名無しさん
2014/01/08(水) 04:03:07.39γ´⌒ヽ'⌒ヽ⌒ヽ⌒ヽ⌒ヽ た〜っぷり た〜らこ〜
| ( ゚д゚)゚д゚)゚д゚)゚д゚)゚д゚)
| | ,| ,| ,| |
l l ,l ,l ,l l
〉 j ,j ,j j j
'⌒Y⌒Y⌒ (__,ノ_,ノ_,ノ__,ノ_ノ
0806デフォルトの名無しさん
2014/01/08(水) 07:13:15.62それ戻り値や無くて引数じゃね?
0807デフォルトの名無しさん
2014/01/08(水) 07:18:19.68途中でのプログラム終了と例外とlongjumpは
関数y=f(x)のyの導出とは関係が無い。
値を返すとは別の形での終了の概念。
0808デフォルトの名無しさん
2014/01/08(水) 08:16:45.500809デフォルトの名無しさん
2014/01/08(水) 08:28:09.14のいずれかの動作を取るけれど
後者があるからといって
>>754の内容が間違っているかどうかは別だ。
特にC++ではvoidを返すという考え方を認めている
0810デフォルトの名無しさん
2014/01/08(水) 08:35:02.25無限ループと割り込みも宜しく。
> 間違っているかどうかは別だ。
「値を返さない」が可能なら「戻り値の無いプログラムなんて無い」は間違いだろう。
「基本的に全てのプログラム(関数・サブルーチン)は値を返すべき」
なら思想の問題なんで議論の余地があるけど、正直そっちは興味無いな。
0811デフォルトの名無しさん
2014/01/08(水) 09:18:49.44いや片山は言っている事は支離滅裂だけどプログラムに関してはかなりの知識を持っていると思ってるぞ
0812デフォルトの名無しさん
2014/01/08(水) 09:22:33.33関数が終了しないでプログラム全体が終わるなら、プログラム全体が先に値を戻して終了してるだけだ
メインから関数の入れ子になってんだから
値が無いって事はf(x)でxに値を与えても、f(x)は値を持たないって事だ
それだと関数では無くてただの文字だ。xを与えて値を持つから関数って言うんだよ
それが関数の定義だ 値を持った時点で、それが戻り値なんだよ
0813デフォルトの名無しさん
2014/01/08(水) 09:25:28.35ちがうな。
経験 を持っているだけで 知識 を持っているかは別。
残念な人は何十年仕事しても上達しないのと同じ。
0814デフォルトの名無しさん
2014/01/08(水) 09:30:36.53勝敗決してからgdgd言い訳するのは 見苦しいぞ
0815デフォルトの名無しさん
2014/01/08(水) 09:34:33.99f(x)の関数と同じ形で、戻り値が無い、値を持たないとするのは手続きだから
0816デフォルトの名無しさん
2014/01/08(水) 09:38:47.96変な人だからコテハンにするのかも知れないが
0817デフォルトの名無しさん
2014/01/08(水) 09:44:24.21副作用OKな手続き型の関数と呼ばれる関数モドキに何言ってんのコイツwww
「それは関数、ファンクションじゃない、プロシージャとかサブルーチンとかメソッドとかそういう物だ」
位の事は言えよ。そんなに関数にこだわりがあるなら。
0818デフォルトの名無しさん
2014/01/08(水) 09:48:09.130819デフォルトの名無しさん
2014/01/08(水) 10:02:38.68記憶に残らない変な人がいるだけ
0820デフォルトの名無しさん
2014/01/08(水) 10:10:28.50f(x)と言う形だけを関数と言うなら、その関数が他の処理に最終的に制御を移す値が戻り値になる。
それは戻り値では無いと言うなら、それは関数では無い。
0821デフォルトの名無しさん
2014/01/08(水) 10:13:58.07コテを付けている奴は例外なく自己顕示欲が強い=自己愛性パーソナリティ障害気味もしくは
本物の自己愛性パーソナリティ障害
0822デフォルトの名無しさん
2014/01/08(水) 10:29:39.910823デフォルトの名無しさん
2014/01/08(水) 12:23:50.000824デフォルトの名無しさん
2014/01/08(水) 13:19:37.620825デフォルトの名無しさん
2014/01/08(水) 14:34:36.29void型の戻り値を返すんじゃなくて、戻り値を返さない「関数」をvoidと宣言するんだから
0826デフォルトの名無しさん
2014/01/08(水) 15:04:56.47f(x)の意味分かってんのか
0827デフォルトの名無しさん
2014/01/08(水) 15:10:15.190828デフォルトの名無しさん
2014/01/08(水) 15:27:59.340829デフォルトの名無しさん
2014/01/08(水) 15:35:23.290830デフォルトの名無しさん
2014/01/08(水) 15:40:18.64NISA は,経済/投資板のゴールドスレでは敗者の徴,愚者への徴税扱いとみなされているね
0832デフォルトの名無しさん
2014/01/08(水) 17:25:23.15バ片山は基本的に初心者への嘘回答しかしてないから、
それに負ける奴がいることに驚き
0833デフォルトの名無しさん
2014/01/08(水) 20:06:28.730834デフォルトの名無しさん
2014/01/08(水) 20:08:47.360835デフォルトの名無しさん
2014/01/08(水) 20:36:42.660836デフォルトの名無しさん
2014/01/08(水) 20:57:46.88ときどき考え込んでしまうんだ。だけど、もういいんだ。PHPで
0837デフォルトの名無しさん
2014/01/08(水) 21:02:47.15c++で書こうとするヤツ=馬鹿
c++でオナニーするヤツ=アスペ
0838デフォルトの名無しさん
2014/01/08(水) 21:09:08.990839デフォルトの名無しさん
2014/01/08(水) 21:11:38.810840デフォルトの名無しさん
2014/01/08(水) 21:23:58.310841デフォルトの名無しさん
2014/01/08(水) 21:26:48.26それをやらないのは甘えでしかない
そんなのはCオンリーで書かせても同じでソース分割もろくに出来ないんじゃないかな
0842デフォルトの名無しさん
2014/01/08(水) 23:03:37.93伊達にヒキヲタDT歴を積み重ねてきたわけじゃないからね。
0843デフォルトの名無しさん
2014/01/08(水) 23:59:17.21CLASS A{
public :
A(){}
~A(){}
};
int main(){
A *a[3];
for(int i=0; i<3; i++){
a[i] = new A();
}
}
とするより
struct A{
public :
A(){}
~A(){}
"関数など"
}a[3];
とやって構造体で処理した方が良いですか?
0844デフォルトの名無しさん
2014/01/09(木) 00:02:51.02質問の意図は
javaでよくnewを使ってたんですが
Cだといちいちnewしない方が良いと言われたので
0845デフォルトの名無しさん
2014/01/09(木) 00:09:53.370846デフォルトの名無しさん
2014/01/09(木) 00:12:46.26やはりそうですか。
ちなみにstructの使い方ってC++だとほとんどクラスに近いように感じるのですが
class的な扱いで大丈夫ですよね?
あと、後者で済まないような場合ってどんな時でしょうか?
0847デフォルトの名無しさん
2014/01/09(木) 00:14:38.840848デフォルトの名無しさん
2014/01/09(木) 00:17:17.76デフォルトのアクセス指定子がprivateかpublicかの違いしかない
0849デフォルトの名無しさん
2014/01/09(木) 00:23:56.24なるほど
0850デフォルトの名無しさん
2014/01/09(木) 00:29:18.87参考書とかでもnewを使ったりしてるのが有りますが、
なぜnewするのを避ける傾向に有るのですか?
0851デフォルトの名無しさん
2014/01/09(木) 00:33:59.650852片山博文MZコスモ ◆T6xkBnTXz7B0
2014/01/09(木) 00:37:45.85スタックで割り当ての方が早い
0853デフォルトの名無しさん
2014/01/09(木) 00:49:28.60そりゃ確保の速度もあるけど、解放しわ忘れてメモリリークするのが怖いからだろ
スマポを併用するのはそのため
0854デフォルトの名無しさん
2014/01/09(木) 00:49:42.040855デフォルトの名無しさん
2014/01/09(木) 01:06:30.72C/C++にはGCがないかわりにヒープの使用を強制されることもない
あとは >>852 と同じ
0856デフォルトの名無しさん
2014/01/09(木) 01:09:21.92newでまれにスタックが使われる?
0857片山博文MZコスモ ◆T6xkBnTXz7B0
2014/01/09(木) 01:21:38.65operator newの定義が特殊な場合
0858デフォルトの名無しさん
2014/01/09(木) 01:41:01.680859デフォルトの名無しさん
2014/01/09(木) 03:23:44.78Cでやってるのに
for(int i=0;i<count;i++)
はC++と知らずにやってたんだ
0860デフォルトの名無しさん
2014/01/09(木) 03:27:02.44大きな連続領域を確保しようとすると、
それを探しまわるために、
1万命令ぐらいかかることもある
自分でメモリープールを作って、
メモリを管理する方法が、色んな本に載っているけど、
これはプログラムの初期化時に、
大きな領域を確保して、その中から、
小さい領域を、newに頼らず、自分で渡していく
Objective-Cやデータベースなども、
この方法を使っている
0861デフォルトの名無しさん
2014/01/09(木) 06:29:28.99ちょっと何言ってるかわからない
まさかCだとfor (int i=〜)が書けないとでも思ってる?
0862デフォルトの名無しさん
2014/01/09(木) 06:51:17.56C89/ANSI Cではだめというだけの話
0863デフォルトの名無しさん
2014/01/09(木) 07:04:11.12それのどこがC++だと
0864デフォルトの名無しさん
2014/01/09(木) 09:10:49.25スタックってなんですか?
フリーストアとは関係ないのですか?
0865デフォルトの名無しさん
2014/01/09(木) 09:35:52.20昔よく使われてたのはISOのC90じゃないの?
0866デフォルトの名無しさん
2014/01/09(木) 12:24:27.71K&R1とK&R2=C89 の違いをいってみろ
C89とC90の違いをいってみろ
両方いえたらわかろうものだ,このケツの青い餓鬼が
0868デフォルトの名無しさん
2014/01/09(木) 12:43:45.52一年延期したんじゃなかったっけ?
0869デフォルトの名無しさん
2014/01/09(木) 12:48:17.29書いてない事で自慢しろよ
プログラムのメモリサイズを調べる方法とか
ls -l ./prog
0870デフォルトの名無しさん
2014/01/09(木) 12:52:36.385年前の俺: 無理だろそんなの
まあ、スタブ書くときくらいしかpure C で書くこともないんだけど
>>869
ういんどーずでやってみろ、こんちくしょーめ
0871デフォルトの名無しさん
2014/01/09(木) 12:59:18.84えっ
0872デフォルトの名無しさん
2014/01/09(木) 12:59:21.67これであってますかあ 大爆笑
0873デフォルトの名無しさん
2014/01/09(木) 13:03:03.36えっ?
0874デフォルトの名無しさん
2014/01/09(木) 13:08:18.14ファイルサイズ(ユニークなファイルヘッダがあるならそれを取り除いた量)よりも
下回るようなことは起き得るだろうか?
デバイスドライバーなんかは
初期化時には居るけど、初期化後はOSに返してしまう部位があったりするようだけど
0875デフォルトの名無しさん
2014/01/09(木) 13:18:41.790876デフォルトの名無しさん
2014/01/09(木) 16:04:51.00自己展開書庫なんかおもいっきりそうだが
0877デフォルトの名無しさん
2014/01/09(木) 16:13:32.65自己展開書庫で ファイルサイズ>メモリサイズ ってのは
lz圧縮系で、圧縮されるべき対象物が小さいと頭の辞書のほうがでかくなってしまう現象を想定?
0878デフォルトの名無しさん
2014/01/09(木) 16:20:57.23実行時に確保されるメモリなんざコードセグメントだけじゃないだろう?
0879デフォルトの名無しさん
2014/01/09(木) 16:23:57.21ls -l でわかるそうだから
0880878
2014/01/09(木) 16:29:26.47フットスタンプてそれ、プロレスの技やないかww
0881デフォルトの名無しさん
2014/01/09(木) 16:54:08.500882デフォルトの名無しさん
2014/01/09(木) 17:03:02.560883デフォルトの名無しさん
2014/01/09(木) 18:28:52.19>>820
>>826
「数学的な関数でないサブルーチンやプログラムも存在する」のを無視して
f(x)とか言い出して「数学的な関数として値を返すべき」って主張したのが>>754
どうみてもC/C++の関数どころかプログラムまでひっくるめて数学的な関数扱いしてるぞコイツ
「戻り値がないなんてありえない!!」
「たとえ0個であっても,それは戻り値を持つというんだ!!」
0885デフォルトの名無しさん
2014/01/09(木) NY:AN:NY.ANhttp://toro.2ch.net/test/read.cgi/tech/1371208925/447
> 447 :◆QZaw55cn4c 2013/07/01(月) NY:AN:NY.AN
> >>343
> ごめんね: keyword:Qzでアボーンしていたので見てなかった
> ふむ、ひとつの makefile で複数のバイナリ(サーバープログラムとクライアントプログラム、とか)を生成するとき、
> 特定のバイナリは、くだんのヘッダは読むけれどもそのヘッダにimplyされている全機能や array[] を使うとは限らない、ということはありうるわね
>
> でも手元の gcc では、使わなければ int array[10000] であっても増えないね
> ideone ではこうだった
> http://ideone.com/Digq4t
> http://ideone.com/aYFG9w
>
> >int array[10000];
> >では、使う使わないに関わらず領域が確保されてしまう。
> 処理系依存じゃないの?
> 処理系依存にうるさい人が処理系依存の事例を挙げるなんてダブルスタンダードもいいとこだね
>
> >>445
> 回答しといたよ
> これは授業料なしで引用していただける資格があると思うよ
0886デフォルトの名無しさん
2014/01/09(木) 19:25:56.440887デフォルトの名無しさん
2014/01/09(木) 20:34:50.84その内容についてお前の意見がないかぎりなんともいえないね
0888デフォルトの名無しさん
2014/01/09(木) 20:56:41.660889デフォルトの名無しさん
2014/01/09(木) 21:05:48.18これで良いかね?
http://www54.atwiki.jp/qzaw55cn4c/pages/16.html
0890デフォルトの名無しさん
2014/01/09(木) 21:12:47.12これ何回見ても笑えるwww
Qは完全に頭イカレてるな
0891デフォルトの名無しさん
2014/01/10(金) 03:53:25.10知ったかをイカレが弄ってるようにしか見えんが、
どっちかっつうとイカレの方がきしょい。
0892デフォルトの名無しさん
2014/01/10(金) 04:29:28.080893デフォルトの名無しさん
2014/01/10(金) 10:21:45.03自演してるようにしか見えないからきしょい
0894デフォルトの名無しさん
2014/01/10(金) 12:09:24.640895デフォルトの名無しさん
2014/01/10(金) 12:15:48.01正 きんもー☆
0896デフォルトの名無しさん
2014/01/10(金) 13:36:41.680897デフォルトの名無しさん
2014/01/10(金) 16:20:05.100898デフォルトの名無しさん
2014/01/10(金) 19:39:19.190899デフォルトの名無しさん
2014/01/16(木) 20:38:59.73以下のプログラムのコンパイルが通らないのですが仕様でしょうか?
http://ideone.com/j63pEU
0900デフォルトの名無しさん
2014/01/16(木) 20:44:47.010901KUSO KOTE ◆unko./w.Osri
2014/01/16(木) 20:55:06.855.2.8p6
If the header <typeinfo>(18.7.1) is not included prior to a use of typeid, the program is ill-formed
0902デフォルトの名無しさん
2014/01/16(木) 21:02:35.30ありがとうございます
仕様なんですね
0903デフォルトの名無しさん
2014/01/16(木) 21:19:02.64別スレッドからメインスレッドにPostMessageで
メッセージと文字列を一つ送りたいのですが、
どのようにしたら良いでしょうか?
送り側で
CString s;
s = _T("test");
PostMessage(hwnd, msg, NULL, (LPALAM)s);
受け取り側のPreTranslateMessageで
CString s = pMsg->lpalam;
としてもうまく受け取ることができません。
また、PostMessageを受け取らない時があるのですが、
取りこぼしなどあるんでしょうか?
0904デフォルトの名無しさん
2014/01/16(木) 21:22:33.21>文字列を一つ送りたい
だったら文字列のメモリの生存期間が保証されるようにしろ
それができないならC++は諦めた方がいい
0905デフォルトの名無しさん
2014/01/16(木) 21:25:49.69渡すメモリを書き込むときとそれを読み込むときは
クリティカルセクションオブジェクトかCMutexで排他制御しとけ
でないと書き込み結果が伝わる保証がない
0906デフォルトの名無しさん
2014/01/16(木) 21:44:15.12一体何が起きるんだろう? このKUSOコード
とりあえずSendMessageというKUSO呼び出しに変えたらいいんじゃね
0907デフォルトの名無しさん
2014/01/16(木) 22:36:43.440908デフォルトの名無しさん
2014/01/16(木) 22:40:24.56PostMessageは相手に届く前にリターンするからそれじゃうまく行かないよ
送り側でnewして受け側でdeleteするか、WM_COPYDATAを使う
0909デフォルトの名無しさん
2014/01/16(木) 22:45:10.44やりたいのは(LPARAM)(TCHAR*)sだろうけどそれでもダメ
0910デフォルトの名無しさん
2014/01/17(金) 01:21:37.47ハンドクリームとボディクリームとかゆみ止めの軟膏は塗ってみましたが
塗った瞬間しかよくなりません。
30分も経つとまた痒くなってきます。
0911デフォルトの名無しさん
2014/01/17(金) 01:29:13.72病院に行くといいよ
0912デフォルトの名無しさん
2014/01/17(金) 01:46:00.67メッセージによってコピーされたり変換されたり挙動が違うんじゃねーの?
>>910
皮膚厚くなってるようなら風呂で角質を軽く削っとけ
0913デフォルトの名無しさん
2014/01/17(金) 03:06:52.18ありがとうございます。
帰りにまだ開いてる薬局があったら角質取るやつを買ってみます。
それでだめなら病院行ってみます。
0914デフォルトの名無しさん
2014/01/17(金) 03:46:32.05dllからexeへ送る場合それじゃ落ちるだろ
>>909
「全然おかしい」という日本語はおかしい
>>913
角質を削る刺激でさらに皮膚が厚くなる
0915デフォルトの名無しさん
2014/01/17(金) 08:59:37.96むしろそれが本来の使い方。
0916デフォルトの名無しさん
2014/01/17(金) 09:55:20.31いいことをきいた。
ではどうすれば皮膚を薄く出来る?
0917デフォルトの名無しさん
2014/01/17(金) 10:08:06.20削りすぎないこと
0918デフォルトの名無しさん
2014/01/17(金) 12:14:12.67アンモニアに漬け込む
0919デフォルトの名無しさん
2014/01/17(金) 12:32:49.34ブラウザ死亡確定
開発効率の向上とインストールの簡易さ向上により
もはやWebアプリの利点は失われた。
0920デフォルトの名無しさん
2014/01/17(金) 21:09:17.17MyDialog dlg;
dlg.DoModal();
だけの処理を書いて、呼び出したダイアログを閉じたあと、
再度ボタンを押してダイアログを表示しようとすると
アサーションで落ちるんだけど、なぜ?
呼び出すダイアログでは特に処理もしてないんだけど、
ポインタにしてnewしてもダメだし2度目がダメな理由がさっぱりなんだけど
何が原因かわかりますか?
0921デフォルトの名無しさん
2014/01/17(金) 21:14:18.57話はそれからだ。
0922デフォルトの名無しさん
2014/01/17(金) 21:24:26.940923デフォルトの名無しさん
2014/01/17(金) 21:24:50.40ごめんなさい
os は windows7 で
開発環境は visual studio 2010 pro
mfcのダイアログベースを使ってます
0924921
2014/01/17(金) 21:28:11.53今試したが俺はならない。諦めろ。
Windows 8.1
Visual C++ 2013
MFCのCDialogとCDialogExで確認した
0925デフォルトの名無しさん
2014/01/17(金) 22:54:21.600926デフォルトの名無しさん
2014/01/18(土) 01:16:37.69assertが出るとプログラムがそこで一時停止するから、
ソースコードのどこでassertしたのかを確認する。
ライブラリの中でassertしたならスタックトレースで
呼び出し履歴をチェック。
0927デフォルトの名無しさん
2014/01/18(土) 04:42:06.230928デフォルトの名無しさん
2014/01/18(土) 06:16:00.43タッチパネルなモニタ繋いでる。に100ペリカ
0929デフォルトの名無しさん
2014/01/18(土) 06:55:11.81なんで?
俺はおタッチパネルだけどならないぞ。
0930デフォルトの名無しさん
2014/01/18(土) 08:13:42.17OLE関係のメソッドが不正アクセスするというMFCのBug
に遭遇しているのではないかと
なおタッチパネルでないと再現しない。
0931デフォルトの名無しさん
2014/01/18(土) 14:07:21.72>ウィンドウメッセージで文字列受け取る奴はMBCS/Unicodeの変換がある
それは>>912がばかな茸
0932デフォルトの名無しさん
2014/01/18(土) 15:17:24.42クリップボードと間違えてんじゃね
0933デフォルトの名無しさん
2014/01/18(土) 23:45:30.47ユーザーにいくつかの項目を入力させる画面を作っているんですが、
すべての入力が終わってからチェックという方法ではなくて、
一つの項目ごとに関連する情報を表示させたい
たとえば、任意の金額を入力し、確定するとその金額で購入できる商品を即座に表示したい等
この場合、OnKeyDownでエンターが押された場合に処理する、
OnKillFocusで処理する等あると思うんですが、皆さんはどんな処理をさせますか?
個人的にはOnKillFocusって使いづらいイメージがあるのですが、
一般的にはKillFocusで処理するのでしょうか?
0934デフォルトの名無しさん
2014/01/19(日) 00:00:55.64KeyDownだとマウスでのフォーカス移動に対応できないし
0935デフォルトの名無しさん
2014/01/19(日) 02:26:10.95実際に操作してみて理由がわからないような低脳なら
他人の使うプログラムを作ることは諦めた方がいい。
0936デフォルトの名無しさん
2014/01/19(日) 02:46:57.71まあフォーカスとかChangeとかはへんな連鎖でぐちゃぐちゃになる場合が多いが
金額はなにをもって確定とするのか
0937デフォルトの名無しさん
2014/01/19(日) 03:27:40.430938デフォルトの名無しさん
2014/01/19(日) 03:27:40.82>>932
Windowsでは割と自動変換におんぶにだっこしてもらってるってのは自覚しとけよ
http://msdn.microsoft.com/ja-jp/library/windows/desktop/dd317720(v=vs.85).aspx
まぁ変換が起きるのはSendMessageの時で、PostMessageの時は「同期専用メッセージだゴラ」ってエラーになったりするようだが
0939デフォルトの名無しさん
2014/01/19(日) 06:31:58.88項目毎に確定ボタンみたいなのはあかんのか
0940デフォルトの名無しさん
2014/01/19(日) 08:01:44.95みんなコンパイラは何を使ってますか?
0941デフォルトの名無しさん
2014/01/19(日) 08:10:46.330942デフォルトの名無しさん
2014/01/19(日) 09:45:29.130943デフォルトの名無しさん
2014/01/19(日) 12:01:55.48Kcompilerだったかな
0944デフォルトの名無しさん
2014/01/19(日) 12:16:05.350945デフォルトの名無しさん
2014/01/19(日) 12:28:57.610946デフォルトの名無しさん
2014/01/19(日) 13:08:58.82お前が普段使っているツールのすべての入力欄に確定ボタンがつく呪いをかけた
0947片山博文MZコスモ ◆T6xkBnTXz7B0
2014/01/19(日) 13:51:20.96タイマーの時間が来たらフォーカス確認し、フォーカスがなければ確定
Enterキーならすぐ確定
Escキーならタイマー解除して値を元に戻す
0948デフォルトの名無しさん
2014/01/19(日) 15:04:24.38lsic試食版
0949デフォルトの名無しさん
2014/01/19(日) 16:15:28.65最初のコンパイラーは多分 FACOM 230 の FORTRAN コンパイラーだったと思う。
自宅は X68K で GCC (真理子版) かな。
いまは、ほとんど Visual Studio。
0950デフォルトの名無しさん
2014/01/19(日) 17:48:57.2720年前からタイムスリップした?
0951デフォルトの名無しさん
2014/01/19(日) 18:16:39.54ここにあるようなsplitを使用する関数を繰り返し呼んだ場合、メモリリークはするものでしょうか?
void foo(string str)
{
vector<string> v = split(str, ",");
・・・
}
というか、stringはdeleteしなければいけないものなのでしょうか?
0952デフォルトの名無しさん
2014/01/19(日) 18:19:22.930953デフォルトの名無しさん
2014/01/19(日) 18:48:36.160954デフォルトの名無しさん
2014/01/19(日) 19:54:32.79知ってる人がいて安心した
0955デフォルトの名無しさん
2014/01/19(日) 20:06:16.24って書こうと思ったら>>948にあった
0956デフォルトの名無しさん
2014/01/19(日) 21:20:32.30今いる人はだいたいこっからか
俺もそう
0957デフォルトの名無しさん
2014/01/19(日) 21:27:44.73その後、djgccでDOS Extenderでやっていたから結局farポインタとか使わなかったな
0958デフォルトの名無しさん
2014/01/19(日) 21:35:40.900959デフォルトの名無しさん
2014/01/19(日) 21:49:03.05lattice
0960デフォルトの名無しさん
2014/01/19(日) 22:19:12.690961デフォルトの名無しさん
2014/01/20(月) 03:03:41.53のはどうでもいいんだが、今でもWindowsで使っているなら馬鹿。
0963デフォルトの名無しさん
2014/01/20(月) 04:32:29.140964デフォルトの名無しさん
2014/01/20(月) 06:33:45.70「64KiB 以上のコードを生成できない」という試用版の縛りを取り除けば、5万くらいの製品だったかと
0965デフォルトの名無しさん
2014/01/20(月) 07:15:29.73MSですら無料の出してるんだし…
0966デフォルトの名無しさん
2014/01/20(月) 07:24:18.82dos用では、lsic試食版がほぼ唯一だったような気がするんだが。
0967デフォルトの名無しさん
2014/01/20(月) 07:26:22.23MS-DOS時代(1995年より前)はただのコンパイラとかキチガイも同然だった‥‥
0968デフォルトの名無しさん
2014/01/20(月) 07:33:28.25ベクターのファイル日付が1993年。20年前か。。
0969デフォルトの名無しさん
2014/01/20(月) 07:44:28.14作者はプログラム業ではなくお医者さんで。
0970デフォルトの名無しさん
2014/01/20(月) 07:52:57.46【初心者歓迎】C/C++室 Ver.89【環境依存OK】
http://toro.2ch.net/test/read.cgi/tech/1390171944/
0971デフォルトの名無しさん
2014/01/20(月) 07:59:18.87まさかと思うが、今の話してないよな? (w
0972デフォルトの名無しさん
2014/01/20(月) 11:56:00.69ごめん、今の話かと思った
0973デフォルトの名無しさん
2014/01/20(月) 12:10:20.22gccは既にあったのだが
0974デフォルトの名無しさん
2014/01/20(月) 13:29:23.260975デフォルトの名無しさん
2014/01/20(月) 16:01:03.470976デフォルトの名無しさん
2014/01/20(月) 16:11:02.41>>963>>964
試食版はSmallメモリモデルだけだね。
製品版は各種メモリモデルに対応していたと思うし、
標準ライブラリなどのソースもついてたと思う。
0977デフォルトの名無しさん
2014/01/20(月) 16:22:55.12DJGPP もkmc版も使っていだけど、正常に動いていましたよ
mix版は知らない
0978デフォルトの名無しさん
2014/01/20(月) 16:24:41.260979デフォルトの名無しさん
2014/01/20(月) 22:20:22.29日本語環境へのローカライズはNiftyのフォーラム辺りの有志がやってたような記憶が。
実メモリを大きく超えるメモリを確保して、DOSなのに仮想記憶でHDDをガリガリアクセスしているのに感動したな。
0980デフォルトの名無しさん
2014/01/21(火) 00:04:16.23gcc は go32/i386sx以上でOKだったかと
0981デフォルトの名無しさん
2014/01/21(火) 00:05:20.17>DJGPP もkmc版も
だからそれは32ビットプロテクトモードでの話かと
0982デフォルトの名無しさん
2014/01/21(火) 00:11:23.930983デフォルトの名無しさん
2014/01/21(火) 00:51:18.180984デフォルトの名無しさん
2014/01/21(火) 03:10:09.04くせーぞ、ジジイ
0985デフォルトの名無しさん
2014/01/21(火) 04:50:59.15ウンコ臭の美女と
0986デフォルトの名無しさん
2014/01/21(火) 05:09:23.680987デフォルトの名無しさん
2014/01/22(水) 01:40:24.76C99専用だがアホみたいにコンパイル速いし実行ファイル作らずに直接実行できたりLL並
作者はQEMUとかFFMPEGを立ち上げた人でJavascriptで動く仮想PC作ったりもしてる変態
0988デフォルトの名無しさん
2014/01/22(水) 06:01:05.430989デフォルトの名無しさん
2014/01/22(水) 06:17:15.51int a;
int b;
};
0990デフォルトの名無しさん
2014/01/22(水) 07:34:53.47そいつの作った、超小さい変態ccのほういじってたことがある
pccだったか
call convention さえうまく書ければwin32で実用にもなる
末尾に_12_とかって書いたらstdcallになるようにしてみてた
0991デフォルトの名無しさん
2014/01/22(水) 08:12:09.450992デフォルトの名無しさん
2014/01/22(水) 11:45:54.680993デフォルトの名無しさん
2014/01/22(水) 17:51:42.270994デフォルトの名無しさん
2014/01/22(水) 18:55:30.590995デフォルトの名無しさん
2014/01/22(水) 19:20:05.910996デフォルトの名無しさん
2014/01/22(水) 20:14:16.870997デフォルトの名無しさん
2014/01/22(水) 20:23:48.14uyが増殖したらしい
0998デフォルトの名無しさん
2014/01/22(水) 20:28:20.370999デフォルトの名無しさん
2014/01/22(水) 20:31:02.611000デフォルトの名無しさん
2014/01/22(水) 20:32:43.1610011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。