【初心者歓迎】C/C++室 Ver.85【環境依存OK】
1 :
デフォルトの名無しさん :
2013/07/01(月) 20:04:27.27
>※hogeは禁止しません えー
NG推奨:半角にして登録してくだい ◆QZaw55cn4c ◆0lBZNi.Q7evd /tech/1313183984/ 片山
hoge
hogewwwwwwwwwww
NG必須:半角にして登録してくだい hoge fuga piyo
ホゲ
hogee
9 :
デフォルトの名無しさん :2013/07/01(月) 21:13:12.74
foo, bar, bazをつかいます
Hogehogehage
Hogeを使います
hoge, hage, mogeを使います
Hogeは日本の文化 ほげーーーーーー
14 :
デフォルトの名無しさん :2013/07/01(月) 21:36:09.95
ム板屈指の基地害スレッド
>>1 乙乙です
>※hogeは禁止しません
ワロタ
hoge hoge hoge hoge
class hoge final { };
ほげ ほげ ほげ ほげ ほげ ほげ ほげ ほげ ほげ ほげ ほげ
>※hogeは禁止しません
禁止しろよ
>>1 のクズ
※hogeは禁止です
はげネタで何レス消費するつもりだ?
狂気を感じるスレッドだな。
>>25 マトモな神経してたら他スレに行くかそもそも2chに来ないだろ
そしてぼくときみだけがのこった
28 :
デフォルトの名無しさん :2013/07/02(火) 01:29:24.49
『君たちがいて僕がいる』(きみたちがいて、ぼくがいる) − Wikipedia
はっけよういのこった
hogeはどうでもいい それよりスレタイをこれにしろって言っただろうが 【初心者姦ゲイ】C/C++ハッテン室 Ver.85【姦狂依存OK】
先日は、スレタイ案エントリーシートをご提出頂き、
有り難うございました。
さて、ご提出頂いたエントリーシートについて、
厳正な書類審査の結果、
遺憾ながら採用をご辞退申し上げることに結論をみました。
今回は御縁がなかったものとして
あしからずご了承下さいますようお願い申し上げます。
末筆ながら、
>>30 様の就職活動での
今後のご活躍をお祈り申し上げます。
ほげ
hogehoge
hoge
※hageは禁止です
36 :
デフォルトの名無しさん :2013/07/02(火) 09:46:28.13
hoge fugaの歴史は古い 日本にfoo barが入ってきたとほぼ同時に現れた fj / apranetの昔だ
37 :
デフォルトの名無しさん :2013/07/02(火) 13:06:31.96
そうやってhogeってられるのも今のうちだぞ
正直、俺もホゲは無いわと思う。 まあ、そこまで毛嫌いはしないけど、自分から使う事は無いなあ。 最初に使った人に今の気持ちを聞いてみたいな。
>>37 hogeに過剰反応するお前の方が今のうちのような気がするんだが
hogeって動詞?
41 :
デフォルトの名無しさん :2013/07/02(火) 13:17:46.49
一言書いたら過剰反応って言われた 過剰反応するhoge厨怖いわー
hogeそのものというより、hoge使ってる奴の異常な精神構造とか、教養の無さとか、hogeを使ってる奴のそういった共通点が嫌悪感を掻き立ててるんだと思う。
hogeを使うとそれに過剰反応して発狂する奴の異常な精神構造にも興味があるね そして反応する割には教養がないしプログラムも書いてない ただ「hogeを使うな氏ね」しか言ってない
hogehoge hogeeeee!
hoge hoge hoge hoge hoge ※hogeは禁止しません
>そして反応する割には教養がないしプログラムも書いてない それを知ってるってことはお前のリアル知り合いだな? 大人しくするように言っといて
>>47 そうだね。このスレでその様なレスは
観測されていないので
リアルの知り合いに違いない
>>47-48 このスレにいっぱいいるのに自覚がないって怖いねー(*´・д・)(・д・`*)ネー
本当はhogeが大好きなんだろう? ほらよ hoge hoge hoge hoge hoge hoge hoge hoge hoge
>>51 自覚がない奴に何言っても無駄
自分で自覚しろや( ゚д゚)、ペッ
53 :
デフォルトの名無しさん :2013/07/02(火) 16:45:02.89
hogeと書き込まれるたぴに それを見た多くの人が精神的苦痛を味わっているのだ
>>52 具体的に何番かと質問したのですが
「何言っても無駄」という回答は、
実は何番なのか示せないのではないですか?
どちらかというとhoge使いの方が
「発狂」「異常な精神構造」「教養がない」に
該当するのではないかと思えてしまうのです。
>>53 じゃあ見るな
>>54 屁理屈キタ━━━━(゚∀゚)━━━━!!
どうとでも思って〜自覚ないクン
>>55 ?
「発狂」「異常な精神構造」「教養がない」
は自覚がないですし、
1〜46のhoge否定レスにも、そのような
ものが見つけられませんでした。
hoge肯定派は残念な人が多いようですね
>>56 目を開けているようで実は目を閉じているんだよアンタは
>>56 ついでに言うとその閉じた目の裏に映っているのはアンタ自身の姿
「ほげ」は気持ち悪いけど「ぴよ」はなんだか可愛いよね
hoge━━━━(゚∀゚)━━━━!! ホゲー ホゲー ホゲー
piyoは時代的にめぞん一刻を見た アニヲタだと思っとりました
あー、あのエプロンか
>>53 精神的苦痛ほれ
hoge
hoge
hoge
hoge
hoge
hoge
hoge
hoge
hoge
hoge
hoge
>>63 一ヵ所だけ hage で、ウォーリーを探せを期待した俺がばかでした
>>64 ほれ
hage hoge hoge hoge hoge
hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge
hogeとか書いてて虚しくない?
hogeであぼーんしとけって
「発狂」「異常な精神構造」が
hoge肯定派に多いのは
>>1-66 で確定的に明らか
あぼーんだらけなんだが
面倒な奴らだな 初心者歓迎スレなんだからもうちょっとなんとかならんのか
飽きたら収まるだろ 放置放置 それか削除依頼かどちらか あぼーんが一番楽
なんたって
>>1 のお墨付きだからな
hoge hoge hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge hoge hoge
hoge hoge hoge hoge hoge hage hoge
hoge hoge hoge hoge hoge hoge hoge
ハゲ(ストラウス先生)を探せ!
知らないけど、あまり荒らすとアク禁食らうかもよ( ̄ー ̄)ニヤリ
hoge否定派が居る中で「hogeは荒れる恐れがあります」
でなく「hogeは禁止しません」と明確に
>>1 が設定したんだから仕方ない。
>>1 はshine
>>1 よくやった
変数名にhogeを使う権利をやろう
hoge
生産性皆無なレスでもうすぐ100突破するじゃないか
まだあわてるような時間じゃない 俺のhairはまだ大丈夫
hage先生が作ったから昔はhageだったんだけど、さすがに俺はhageじゃねってことで hogeになったんだよな
前も「char」を「チャ〜」と読むか「キャラ」と読むか議論してたし、ここはそんなスレだと思ってる
char=にゃー
>>80 因みに赤い彗星の彼の名の綴りは
「char」
普通の神経してたらhogeなんか使わない hoge使って平気なのは食事中にウンコ画像見て平気なのと同じ
>>83 お前hogeにトラウマでもあるのか?
hogeとウンコを同列に論じるとかあり得ない
hogeを使ってはいけない合理的な理由はない でもそれは食事中にうんこ画像を見てはいけない合理的な理由がないのと同じ 合理的云々ではなく神経の問題
俺はうんこ画像を見ながら平気で食事出来る性格だな
つまり個人の問題であり、
>>83 の意見は結局自分の狭い価値観でしか物を見てないな
87 :
デフォルトの名無しさん :2013/07/03(水) 02:30:31.28
>>86 お前が平気なのは分かったから他人の食事中にうんこ画像出すな。
自治スレが静かになったと思ったらこれだ‥‥
>>86 うんこ画像は大丈夫でも
うんこそのものがテーブルの上にあったら無理だろ
口から糞が出るのは病気だから早く医者に診てもらえ
>>89 hogeはテーブルに乗らないし臭いも発しないだろ
アンサイクロのC++の記事にあるHello World !がいまいち分からん。
It works! がいい
フランス語では アパシェと発音します。 アパッチは裸の原住民がうほうほ踊ってる感じがしてやです。
フランス語ならアパシェじゃなくてアパシュじゃないのか? 調べたわけじゃないから知らんけど。
97 :
デフォルトの名無しさん :2013/07/03(水) 16:01:30.60
write(char *str)という関数があったとして、この引数strにnullptrが入れられるわけですが、 ということは基本的にchar*型を引数にとる関数は内部でいわゆるnullチェックをするべきなんですか?
assertで済ます時もある
プロだすなぁ。
>>97 好きにしろ。
関数コメントか仕様書のどこかに
呼び出し側でどこまで行うかが
明記されてればOK
null チェックってなんだ? write(p) を呼んでるのに writeせずにぬけてくるってことか? それはバグの温床じゃないのか
関数の実装次第。 NULLでもうまく動く、はじめからNULLを想定しているんだったら 追加でチェックすることはない。 NULLだとバグるなら追加でチェック。
>>97 に対する
>>98 の回答は
思考が最悪
>>101 ノーガードで未定義動作とするか、それとも
チェックして無視するなり例外をスローするなりプログラムを終わらせるかってことだろ
俺はassertでいいと思うよ 下手なドキュメントより説得力あるし どうせnullならセグフォで落ちるのを当てにすればいい
>>106 は「仕様に明記してないので瑕疵だ」
と怒られて泣く泣く徹夜で修正して
2ちゃんにグチをこぼすタイプ
そして何年もそれを続けて50代の老害プログラマーになる
何をわけわからん子といってるんだよ… nullptr の時の仕様があるならその通り実装するし、無ければ普通に assert( ) だろ。 ちなみに、write(const char *str) の方がいいと思う。
出力系なのにconstじゃないライブラリを 時々見るけど殺意を覚える
>>108 write(char const * const str)
>>110 write( char const *const restrict str )
そう言えばC++にrestrictって無いな。 何でなんだぜ?
charなんて使うなよ。海栗が標準なのに Hogeを使わない奴は今でも文字列はcharのみだからしょうがないが
?
writeのようにシステムコールと同一の名前使うのに抵抗あるんだが、 ネームスペース違うから全然構わないという考えが普通?
ProjectName_FunctionName()じゃいかんのか
名前_機能名() だろ プログラマーの名前な。
電話番号も連ねとけ、すぐ連絡できるだろ
システムコール なにそれ
Windows風に言えばAPI
Windows APIと同じ名前の関数名は殺害 だけどwriteはあまりにも一般的過ぎる名前だろう どうしても使いたくなる
uwarite
>>115 むしろ揃えたほうが分かりやすい、という考え方もある。
kakikomi
126 :
デフォルトの名無しさん :2013/07/09(火) 01:06:12.94
うるさいゴミ お前に命令される筋合いはない 何様のつもりだ
126 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
>>126 投稿日まであぼ〜んにするのってどうするの?
ねぇ、どうするの?
オトナになればわかるさ
130 :
デフォルトの名無しさん :2013/07/09(火) 17:32:27.90
まさか
>>128 はNG指定がWebサーバーで動く処理
だとでも思ってるんだろうか
律義にあぼーんした事を報告してるから、日付も手動で書き換えたのかとからかってるんだろ。
133 :
デフォルトの名無しさん :2013/07/10(水) 04:10:38.09
いちいちあぼーん報告してる奴って何なの? 自己紹介板でやれ
はい、もういちど練習しようね
137 :
136 :2013/07/10(水) 10:46:51.35
なぜかインデントおかしくなってるけど そこは気にしないで下さい・・・
>>136 cout <<i<<'\n';
これを
cout << &i << ':' << i << '\n';
に書き換えて実行してみる
139 :
136 :2013/07/10(水) 11:02:26.65
アドレスが表示されました!
10行目で表示してる i は 9〜11行目の間でのみ生きてる i (for中のスコープ内でしか生きてない 10行目で表示してる i は 6行目で作られた i
×10行目で表示してる i は 6行目で作られた i ○13行目で表示してる i は 6行目で作られた i
142 :
136 :2013/07/10(水) 11:14:04.16
>(for中のスコープ内でしか生きてない 勉強になりました ありがとうござました
forループの初期化部分が、スコープ外側になるコンパイラ無かったっけ?
>>144 バカ用の仕様だったはず
まあ、バグをそう言い張っていたと言う可能性は否定できないが (w
if (0) else for なんてマクロがあったような
1998年の9月にその仕様になったのに 1998年の6月に出たVC6をバグ扱いとはこれ如何に
バグじゃなくてクソバカ仕様ってことでOK 今でもVCにはその「仕様」を有効にするオプションあるけど
その仕様を考えた禿がクソバカということですね
151 :
デフォルトの名無しさん :2013/07/11(木) 04:48:54.44
>>73 わざわざ禁止しないって書いてあんだから何回書いたっていいだろ
書き込まれるのが嫌なら禁止って書いとけ
あと池沼はカキコするな
>>151 わざわざ書いてあるんだが
2chの荒らしの定義も知らないお前が馬鹿
hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hogeはhageにニアリーイコールと考えるとhage=C++ 嵐とは失礼だな
/\___/\ / / ヽ ::: \ | (●), 、(●)、 | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ | ,,ノ(、_, )ヽ、,, | < ま〜た始まった | ,;‐=‐ヽ .:::::| \_______ \ `ニニ´ .:::/ /`ー‐--‐‐―´´\
>>152 はぁ?
だったら例えば煽りAAをスレを埋め尽くすほど連貼りしたら
それも問答無用で荒らしってことになるが?
そう言いたいの?
どう考えても荒らしだろ
そうとは限らない。
>>159 屁理屈乙
AAを貼るだけのためにわざわざ作られた板にAAを貼ったら荒らしだと?
'`,、('∀`) '`,、
161 :
デフォルトの名無しさん :2013/07/11(木) 20:39:17.27
>>160 板は関係ないだろ。同じ板でも東方スレに煽りAA貼ったら荒らしじゃないの?
以下屁理屈はどこまでも続きます
>※hogeは禁止しません
前スレであれほどhogeは禁止にしろという
レスがあったのに
>>1 はわざわざその逆を強調
してスレ立てたんだぞ
荒らし呼ばわりのオナニーは脳内だけにしろ
hogeの禁止ってLRに書いてあったっけ?
LRって何ですか?
ググレカス Local Rule
いるんだよな 変な略語を使って何かと聞かれると ggrksとかいうばかが コミュニケーション能力が欠落して いるんだろう
LRなんか普通に使われてるのに知らない自分の無知を人のせいにおしつけるとか どれだけ頭悪いんだよ
170 :
デフォルトの名無しさん :2013/07/11(木) 21:23:17.50
ま、いずれにせよ、誰もググって無いという事が良くわかった
LRとか初めて聞いたぞ。LR=ローカルルールとか分かるやついねえだろ LR=左右かと思ったぞ
173 :
デフォルトの名無しさん :2013/07/11(木) 21:46:54.74
全角英数は例外なく発達障害
割と昔から使われてる2ch用語ではある
ローカルルールに書いてあっても、結局はスレの
>>1 に書いてある趣旨によるんだよな
煽りAAの連投は普通に考えたら荒らしだけど、
>>1 に煽りAAOKとか、
煽りAA専用とか書いてあれば別に荒らしじゃなくなるわけで、問題ない
このスレにはhogeは禁止しないと書いてあるんだから、どれだけhogeを投下しても問題ない
>>171 イミフな略語を使う馬鹿のレスなんか
理解する必用は無いからね
ググってまで自分のクソレスを読んで
貰えると思ってるなんておめでてーな
177 :
デフォルトの名無しさん :2013/07/11(木) 22:04:23.97
イミフって何? イ・・・淫乱な ミ・・・三十路の フ・・・ふたなり こうか?
>>176 そうじゃねーよ
実際にググっても上位10には出てこねーんだよ
>どれだけhogeを投下しても問題ない よし来たまかせろ hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hog e hoge hoge hoge hoge hoge ho ge hoge hoge hoge hoge hoge h oge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hog e hoge hoge hoge hoge hoge ho ge hoge hoge hoge hoge hoge h oge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hog a hoge hoge hoge hoge hoge ho ge hoge hoge hoge hoge hoge h oge hoge hoge hoge hoge hoge 禿げを探せ
>>177 それってまさか「ググレカス」ってレスを期待してるの?
「2ch lr」で検索したら一番上に「VIPPER vs VIPブログ連合 - 用語集」って出てきて、 見事にローカルルールのことだと説明が書いてあった。
つまり「VIPでやれ」ってことだな
183 :
デフォルトの名無しさん :2013/07/11(木) 22:12:28.04
>>178 はGoogleじゃなくてBaiduとかで検索したんだろ
>>181 2ch用語だと知ってりゃググる必要ないだろ
スレのLRとでも書いてあれば別だけど、
単にLRだったら調べても意味不明でしょ。
>>181 は馬鹿なの?死ぬの?
>>186 コミュ障の使う用語を理解したことと
その用語を使うコミュ障であることは別ですよ
どこからコミュ障の話が出てきたんだよ 飛躍しすぎのほうがコミュ障だよ
コミュ障って言う方がコミュ障だいっ!
190 :
デフォルトの名無しさん :2013/07/11(木) 22:40:40.66
LRで調べたら何かゲーム制作サークル出てきたんですけどこれでいいんですかね?
>>190 違うな
俺は L⇔R の事だと判断した
LightRoomじゃないのか
ググったところで
>>164 の使ったLRの意味が何だったのかは出てこない
Long Reachだろjk 10GbBASE LR
195 :
デフォルトの名無しさん :2013/07/12(金) 11:24:47.76
JK? 何でここで女子高生が出てくるか分からないけど 逮捕されるからやめとけよおっさん
JKは、「常識的に考えて」の略。
証拠は??
バンドの名前じゃなかったっけ
>>199 www.zamst.jp/lineup/knee/jkbando.html
だからゲーム開発サークルの名前じゃないの?
つまりLRもJKもイミフも 噛みつく人が出るから安易に使わないのが吉
>>201 circlelrlr.blog.fc2.com/blog-entry-61.html
jkは常考(じょうこう)を意味するものであって 「常識的に考えて」の略ではない
LRとかパイオツカイデーとか言うくらい恥ずかしい
ユノッキンザドアとか聞いた事はあります。
207 :
デフォルトの名無しさん :2013/07/12(金) 21:10:40.55
常考の略だよ 常考は常識的に考えての略だから 意味は変わらないが
Just Kidding
よく見るとHOGEが立体視できるAA hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge な訳ねーだろhage
>>1 はじめてこのスレ空けたヒトにアドバイスです
これ以降もあんまし期待できませんが、とりあえず
>>2 〜 ここまで(多分
>>211 ) 全く内容が有りません
透明あぼーんでOKです
↓ここまで↓
-----------------------------------------------------------------------------------------
212 :
デフォルトの名無しさん :2013/07/13(土) 02:14:46.18
>スレを空けた 空ける? 何言ってんだこいつ、基地害か?
アスペかよ
日本語もままならない
>>211 がアドバイスもどきをするスレだときいて
だいたいネットってのは普段抑圧されてる欲望が出るんだよ。
ネットで罵声を浴びせてる奴は職場でいつも罵声を浴びせたいのを我慢してたり、
ちんこまんこ言ってる奴は精神年齢が低いから普段も言いたいけど堅い仕事だからそれを抑えてたり。
だから
>>211 は普段ゴミ扱いされていて誰かにアドバイスしようとしても
後輩にすら適当にあしらわれる始末だからネットでそれを発散しようとしているんだろう。
hoge
「初めてこのスレを覗いた人」
ならわかるが「
>>1 」とはどういう意味なのだろうか
hoge
hoge
hoge
開ける、だろ それくらいわかれ
すいません cc1: warnings being treated as errors ../../binutils/bucomm.c: 関数 ‘print_arelt_descr’ 内: ../../binutils/bucomm.c:417:7: エラー: 互換性のないポインタ型から 2 番目の ‘abfd->xvec->_bfd_stat_arch_elt’ の引数に渡しています ../../binutils/bucomm.c:417:7: 備考: expected ‘struct stat *’ but argument is of type ‘struct _stat64 *’ というエラーが出るんだが修正できない ソースを見ると 413: struct stat buf; 417: if (bfd_stat_arch_elt (abfd, &buf) == 0) となっていて 417行目を&bufを(_stat64 *)&bufにしたり 413行目をstruct _stat64 buf;に変えても上手くいかない
hoge厨ウザい
222 :
デフォルトの名無しさん :2013/07/13(土) 15:46:51.02
>>218 はぁ?
プログラマが何言ってんの?
一文字違えば全部変わってくるだろうがハゲ
413: struct stat64 buf; or 417: if (bfd_stat_arch_elt (abfd, &(stat64)buf) == 0)
>>218 は
「
>>1 はじめてこのスレ開けるヒトにアドバイス」
だったら日本語として通じるといいたいのだろうか
225 :
219 :2013/07/13(土) 21:15:32.37
いろいろやってみた結果 413: struct stat buf; 417: if (bfd_stat_arch_elt (abfd, (struct _stat *)&buf) == 0) これが近いと思うんだけど cc1: warnings being treated as errors ../../binutils/bucomm.c: 関数 ‘print_arelt_descr’ 内: ../../binutils/bucomm.c:417:11: エラー: 互換性のないポインタ型から 2 番目の ‘abfd->xvec->_bfd_stat_arch_elt’ の引数に渡しています ../../binutils/bucomm.c:417:11: 備考: expected ‘struct stat *’ but argument is of type ‘struct _stat64i32 *’ struct stat*にならない。誰か助けて
あのな
>>219 ではstruct _stat64*
>>225 ではstruct_stat64i32*
どっちだよ
>>225 だと引数はstruct stat64i32のアドレスを指定しろと言っている
キャストするとしたら(struct stat64i32*)&bufだろ
型・引数・キャストについてやり直したらいい
コピペの恐怖 キャスト内はstructいらね
コピペ脳の恐怖
ひとつの同じDLLをふたつ以上の別のDLLとしてロードする事は出来ますか? DLLが内部でグローバル変数を使っている場合にこれを共有したくないのですが……
やってみ
疑問に思ったらまずテストプログラムを作る
>>231 ドカタが実行できないアドバイス送っても
234 :
デフォルトの名無しさん :2013/07/15(月) 11:28:42.29 ID:8348UHpr!
コンテナから先頭を取ってくるとき、 priority_queue や stack だと top() で、 queue だと front() というのはなにか理由があるのでしょうか?
>>234 queueだとfrontとbackの両方を参照できるからじゃないかな
LoadLibrary は参照カウント 0→1 の遷移でメモリにマップ それ以降は参照カウントのアップだけだから 同一DLL を別メモリにマップして駆動することはできないんじゃ?
DLLをコピーしてもだめなの?
試せる環境が今手元に無いので不明だけど ファイル名で識別してるんじゃなくて モジュール定義(.DEF)ファイルの LIBRARY キーワードで指定されたような、 ライブラリモジュールで識別してるんじゃないかな? DLLを別名で複写し、そのファイル名でロードしてもダメポなんじゃないか?という予測
なるほど
LIBRARYキーワードを改竄すればよい・・・と 場合によっては法的にまずいけど、自作DLLなら問題ない
ファイル名じゃないのは確かだね。 じゃないとDLLヘルなんて現象が起こり得ない。
>>234 イメージ通りの名前にしただけ…
…かもしれない雰囲気が漂う
244 :
デフォルトの名無しさん :2013/07/15(月) 14:44:33.84
過去に使っていたポインタがdeleteされたか判別したいのですが、どうしたらいいですか? CKurasu* kurasu = CKurasu(); CKurasu* p = kurasu; delete kurasu; if(p==NULL){} ←??? 一度代入されたポインタはNULLではないですよね ぬるぽ回避に使うんですが
なくはないけどそれ単体では無理だからidでも振ってコンストラクタ・デストラクタで管理するとか
>>244 _CrtSetDbgFlag()じゃダメなの?
>>244 自作のプログラムならdeleteした後にNULLもしくはnullptrを代入する事を徹底する
それ以外のライブラリなら
>>245
>>247 ポインタを途中でコピーしてるから問題に成るんであってヌル代入は意味ないっすよ
>>248 あるよ
代入する前にNULLかどうか確認してから代入すればよい
>>249 生成 〜 余所へ代入:不定回/不定箇所 〜 破棄
破棄後余所へ代入したものが浮遊する ←これをなんとかしたい
こういう意図なんじゃない?
ダングリングポインタかい
いや違うメモリリークだ
>>244 delete kurasu; kurasu = p = NULL;
とする
ナマポでリソース管理などアプリレベルでは一切しないのが吉 RAIIを徹底する
ナマポ使わないならC++使わなくていいよね。そうならC#で良いね
保持はスマポで、引数はナマポってのは普通じゃん
自作の関数以外だと、スマポを受け取ってくれる関数って激減しちゃうしなー
ナマポ使うなとは言ってない ナマポ=new ...、delete ナマポをアプリレベルで記述するなと言っている
スマポでラップしてないnewを一切禁止するだけでC++特有のリソース問題はおおかた片付く 違反コードを見つけるのも簡単だし
スマぽって、禄に管理すらできないゆとり用機能だからな いまのC++使いはゆとりが多いんだろ もうC以外はゆとりをターゲットとした言語って感じかな
>>261 キッシュイーターが何言ってるんだ?
本物のプログラマが使うのはFORTRANとアセンブリ言語だけだ。
*Xのコレクションを管理するクラスXM *Yのコレクションを管理するクラスYM があるとします XM、YMはともにコレクションの要素の寿命を管理します XとYを継承したクラスZをXM、YM両方に登録したいのですふたつの管理クラスでZの寿命が事なりアクセスエラーが起こりました どうすれば良いでしょうか
shared_ptrで要素を持つ
参照カウンタを使う
class Owner { private: Member _member; public: Member& getMember(){/* 中身が結構長い関数*/} const Member& getMember()cosnt{const_cast<Owner*>(this)->getMember();} }; このconstゲッターって普通ですかね?
>>268 なんとなくエスパーできる気もするが、もう少しまともなコードにしてくれ
普通ではないな 逆のパターンで非constメンバ関数の中から対応するconstメンバ関数を呼ぶことならたまにある
コンパイルは通ります
>>271 非constメンバのなかでconstメンバを呼ぶと今の場合const参照が帰ってきますが、それをconst外す方法はありますか?
xメンバ o関数
あ、ホントだ失礼しました const Member& getMember()cosnt{return const_cast<Owner*>(this)->getMember();} か
private method
もろもろ理解しました
そりゃgetMember関数の中で何されてるかわからないのに
constメンバ関数の中からconst外して呼び出したら危険ですよねー
もともと2重に記述するのを嫌ったので
>>271 の方法でやります
2-20までの基数で少数部を含む数の基数変換がしたいんだけど うまいやり方が思いつかない
うまいやり方が思いつかなくても力技でいいと思うよ
strtok使えばいいかそうか
281 :
デフォルトの名無しさん :2013/07/18(木) 23:46:15.93
いずれは国籍なんて無視して理系及び理系の重要性を認めて理系側についた 人間(ニュータイプ)だけで独立国家のジオン公国つくって、何も生み出す 能力がなく金や資源や穀物を右から左に動かして中間搾取するだけのモラル の無い腐りきった文系男(オールドタイプ)国家に戦争しかけるのが人類の 最終形態だろう、200年先になるか300年先になるかはわからんが
なんだこのマルチコピペは ガノタはホントにウザいな
283 :
282 :2013/07/19(金) 00:06:03.10
やや、姉妹スレでケコーンした
マルチだから有り得る
式の中で常に代入が先行しないとコンパイルエラーを出すクラス作りたいんだけどナイスなアイデアなんか教えて X x{}; fun(x+1); // x不定エラー fun((x=1,x+1)); // ok みたいな
Xクラスの=オペレータをオーバーロードして特殊な型を返すようにして funの第一変数をそれにするとか
どう考えてもわかり難いコードになる気がする x=1,x+1; // ok x=1;x+1; // ng こういうこと? おすすめはしないけどカンマ演算子というのがあってだな……
よく分からんがboost::optionalやあかんのか
って、コンパイルエラーを出せってことか 正直具体的にどういう時に使いたいのか分からんのでなんとも 変数は必ず初期化しろってことでいいんじゃないの
不定値を根絶したいならPODの使用を全面的に禁止するほうが早いしきれいだな
POD型をゼロ初期化するクラスもboostにあった気がする
PODも()付けてnewすればいいじゃん
なんでわざわざnewするんだ バカなの死ぬの
ゼロ初期化したいんでしょ それともmemset使う?
なんでその二択なんだ バカなの死ぬの
正解教えてください!オナシャス!
PODならコピーコンストラクタがprotected/privateなわけないし T t = T(); で良い C++11なら T t{};
()での初期化強制ルールだと違反コードがないかチェックするのが少し大変そう
>>293 297のような無駄なコピーコンストラクトするより
T t; new(&t) T();
したほうがゼロオーバーヘッドだろ?
>>299 PODなら確かに同じ動作になるだろうけど
#include <new> が要る分不便
動作でなくコーディングのオーバーヘッドが高い
302 :
デフォルトの名無しさん :2013/07/22(月) 00:27:03.59 ID:gT/NDpp1!
std::pair<int,int> node; となってる時に、 int abc::* x = &node::first; int abc::* y = &node::second; とやって node.*x = 1; node.*y = 1; とか書けますが、このXやYの前のポインタの印を書かないでやり方は ないでしょうか? node.x や node.y とか書ければいいなと思ってるんですが、
>>302 #define x first
#define y second
〜
#undef x
#undef y
というのは冗談で
どうしてもx,yで書きたいならstd::pairを使うな
メンバ変数へのポインタは普通のポインタと違うよ オフセットに近い物だと思う
>>302 普通にint メンバ変数を持つクラスを自作すれば良いのでは?
306 :
デフォルトの名無しさん :2013/07/22(月) 03:33:50.38
Windowsプログラミングの初心者です。 Windowsで文字列を扱うのに苦労しています。 L"\\\\.\\COM3" のようにしてconstantな文字列は扱えますが、 変数として扱うにはどうしたらいいのでしょうか? 例えば、 char str = "\\\\.\\COM3"; L str のようなことをしたいのです。 でも、Lは関数ではないのでエラーになります。 CreateFile関数の第1引数に与えたいと思っている文字列の話です。 L""の定義ってそもそもどうなっているのでしょうか?
CreateFileAを使えば そもそもwindowsプログラミング以前の問題のように思える 文字コードに関する知識が足りていない
308 :
デフォルトの名無しさん :2013/07/22(月) 04:07:00.09
>>307 どうもありがとうございます!!
解決しました。
Unixではこんなことで苦労したことがなかったもので。
Windowsプログラミングって難しいですね。
文字コードに応じて関数を使い分けるんですか…
WindowsAPIにMultiByteToWideChar()って関数あるからそれ使えばいいんじゃね
>>306 解決してるみたいだから、まあいいけど...
> char str = "\\\\.\\COM3";
wchar_t* str = L "\\\\.\\COM3";
ってやるだけのことじゃなくて?
tchar.h…
312 :
デフォルトの名無しさん :2013/07/22(月) 14:36:52.93
306です。
みなさま、ありがとうございます。
昨日はホッとして
寝落ちしてしまいました。
>>310 そうなんですけど、
sprintf(str, "\\\\.\\COM%d", portNo);
みたいなことをしたかったのです。
それも_swprintf()を使えばいいみたいですね。
tchar.hをincludeしなさいとの311のご指摘もありがとうございます。
ただ、
いまいちまだスッキリしていないのは、
L""の定義は何なんでしょう?という点です。
これはマクロで、キャストしているのでしょうか?
一文字しかないので検索しにくいです。
(gcc -E みたいなオプションがあれば…)
windowsならL"てst"ってやるとコンパイラがバイナリに てst って文字列をUTF16で埋め込んでくれるんだよ
Lは文字列リテラルにつける接頭辞 数値リテラルのulとか浮動小数点のfとかと同じ
>L""の定義は何なんでしょう? 言語仕様で規定された、ワイド文字列リテラル なのでインクルードは要らない 型はconst wcha_t[1]
ググる事もしない奴に親切すぎるのも考えもの
Lみたいなググラビリティが低いものはしかたない
318 :
デフォルトの名無しさん :2013/07/22(月) 17:05:28.66
>>316 きっと自己顕示欲を満たしたくて仕方ないんだよ
情報量ゼロのカキコ=自己顕示欲
>カキコ きんもっwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
↑ここまで全部自己顕示欲
自己顕示欲って単語を連発してるのはどうせ全部同一人物だろうな。
カキコとかって単語使ってるのは 小太りで腹が出てて頭頂部が薄くなっててさえない眼鏡かけてて白のタンクトップみたいな肌着一枚で猫背のオッサン
引数を受け取らずTest型の値を返す関数の宣言
ああなるほど…関数の宣言になっちゃってたわけですか Test b(int i);とかの仲間ってことですね ありがとうございました
UnixではL""のワイド文字なんて使われていないの?
328 :
片山博文MZパンク ◆0lBZNi.Q7evd :2013/07/22(月) 19:23:06.06
>>327 あるけど、sizeof(wchar_t) == 4
329 :
デフォルトの名無しさん :2013/07/22(月) 19:41:43.89
>>319 どこからそんな定義が出てきたのか意味不明。
このキチ自己顕示欲って単語の意味を知らないからただの罵り言葉だと勘違いしてんじゃね?
シンタックスシュガーの関係で、x[y] と y[x] が同値であることはよく知られていますが、 この仕組みを利用した黒魔術的なコードって何かありますか?
IOCCC
>>330 IOCCCもそうだけど、ショートコーディングとか、いい意味で頭おかしい
C言語は自由度が極めて高いからなあ・・・ソースを見ても何をやっているのか 全然理解できないプログラムが当たり前のようにある
パルは万ステップ超える挙動がおかしいとかという話わ?
>>337 誰も現実的にあるかどうかについては回答してない
黒魔術という単語にそんな意味はない
339 :
デフォルトの名無しさん :2013/07/23(火) 15:16:15.53
大きい数字を扱う方法を教えてくれ 動画を管理するプログラムを作ってるんだが、 動画のファイルサイズがギガ単位になると、 ファイルサイズを入れる変数がlongでもオーバーフローするっぽい 四則演算までしたいから方法よろ 環境 OS:Windows7 コンパイラ:BCC
LONGLONG ULONGLONG LARGE_INTEGER ULARGE_INTEGER GetFileSize
bcc32だと、__int64じゃないかな
342 :
デフォルトの名無しさん :2013/07/23(火) 19:32:09.83
bignum
343 :
339 :2013/07/23(火) 20:26:27.88
まあ落ち着けや 頭に下線がついてる型は無闇に使うもんじゃ無い ファイルサイズ扱うなら素直にLARGE_INTEGERにしておけ
静的メンバ変数(std::list<クラス>)を持つクラスが破棄される際、 なぜか静的メンバ変数のlist要素クラスのデストラクタが呼ばれた後で、 それを保持するクラスのデストラクタが呼ばれます。 普通のメンバ変数であれば、 クラスのデストラクタ→メンバ変数のデストラクタ となるはずですし、 ましてや静的変数ならなおさら最後のほうに開放されそうな気がするんですが、 なぜ、こんなことになってしまうんでしょうか??
合ってね? 何が疑問なんだ
347 :
345 :2013/07/23(火) 23:07:18.75
あ、理解しました・・・。
例えは悪いが足場を解体していて一番上の板を最後に残すようなもんだよな どうやって降りろと
>>345 ものを作るときはどっちが先かなんて考えず同時と考えたほうがいいよ
そも、順序をなぜ気にするの?なんか処理系依存の妙なことをやろうと
してない?
?
351 :
デフォルトの名無しさん :2013/08/02(金) 15:56:48.87
自作のソフトがたまに落ちるのですが原因は何でしょうか? 常駐型のソフトで、気が付いたら落ちているのでどんなときに落ちるのかは分かりません 落ちないときは何時間でも大丈夫ですが、落ちるときは30分で落ちます よろしくお願いします
バグってるからです
c++のクラスについて勉強中です 例としてゲームを作成中で 1.キャラクターの状態をまとめたクラス 2.描画用のクラス を作りました この場合,1のクラスのprivate内にある複数のメンバ変数を2のクラス内のメンバ関数に 受け渡す時はどうすれば効率的に行えますか?
渡す変数が数個なら引数にするし いっぱいあるならキャラクターのインスタンス自体を渡す
355 :
353 :2013/08/02(金) 16:33:32.71
こういう場合は継承で1つのクラスにまとめるべきなのか,そもそもprivateを使わないべきなのか 受け渡し用構造体を作って利用すべきなのか等色々考えて結論が出なかったので教えてください
356 :
353 :2013/08/02(金) 16:49:08.39
>>354 ありがとうございます
その場合,1のインスタンス内のprivateなメンバ変数を,
2のメンバ関数で利用する際はどのように値を渡すべきでしょうか?
1のメンバ関数に1のメンバ変数を吐き出すものを作り,
高階関数的に2のメンバ関数の引数とすべきなのでしょうか?
1と2のクラスが密結合なら2を1のフレンドクラスにする
358 :
353 :2013/08/02(金) 17:22:37.67
>>357 ありがとうございます
確かにフレンドクラスを使うのが一番適切の様です
お手数をおかけしました
フレンドやめろ フレンド使わなきゃいけないとかそもそもクラス設計が悪い
やっぱそうだよなぁ。 最近読んだ本で、堂々とフレンドクラスを使いまくってるコードを紹介していて絶句した。
フレンド依存はバカの証拠(深い意味で)
フレンド関数は許す
というかフレンド関数抜きで演算子オーバーロードが実用になるのか?
本来1つのクラスにまとめるべきものが どうしても出来ない場合に 仕方なく外にはみ出させるという最終手段
適切では無いかもしれないが、他人には限られた一部のメソッドだけしか使わせない場合なんかにフレンドにすると楽
フレンド使うのは設計ミスの修復か、 バグ対策の最終兵器だと思ってる。
めんどくさいからが抜けてるぞ
フレンド使うのは単体テストとかでprivate関数を使いたい時くらいだな
お なかなか素敵な使い方 無理に覗いてチェックするわけね。 やらし〜(壇蜜)
壇蜜とフレンドクラスになりたいです。
私は派生クラスを作りたいです
Dumpの派生クラス?
「1:n」「n:n」が1セットのデータを一まとめにする時にfiriendを使うかも
win7_64、VC++で、ファイルの入出力についてなんだけど fopen_sのwやaで開いた直後の書き込みはいいんだけど 後でrとかr+で読み込もうとfopen_sで開くとファイルパスのメンバのptrとbaseとtmpfnameが不適切なptrって出てくる fopen_s自体はエラーを返さないのにptrがエラー出てるから fseekで読みたいところを指定できなくて困ってる でも読み込み自体はファイルの先頭からなら出来てるみたい 何が原因なんだろうか ちなみに2つ以上同時に開いてるファイルは無いはず
コオド アプレ
あ、コードうpれってことか 意味分からなくて別スレでスルーしてしまってごめん これでいいだろうか ちなみに60フレームのゲームを想定、rep.frameは0〜60を回り続けてて、毎秒データを読み出したい あとRecDataは4次元配列だし、60フレーム分の読み出しは無駄だらけで恥ずかしいけど初心者なもんでそこはスルーして欲しい それとコード抜き出してるときに新しく気付いたんだけど、どうも1回目のfread_sまでは不適切なptrだけど1回fread_sするときちんとアドレスが格納されてる fseekの位置を調整するべきなのかな
FILE *fp; char buf[100]; int i,j; for(i=0;i<30;i++) { sprintf_s(buf, "Replay\\tmp\\test%d.dat",i); if(rep.frame==0) //60フレームのループの0フレーム目なら { if(fopen_s(&fp,buf,"rb") ==0) //ファイル読み込み、成功した時のみ { fseek(fp , rep.Loop_time*sizeof(RecData[i][60]) ,SEEK_SET); //ファイル読み取り位置指定 for(j=0;j<60;j++) //データを60フレーム分読み出す {fread_s( &RecData[i][j] ,sizeof(RecData[i][j]) ,sizeof(RecData[i][j]) ,1, fp ) ;} fclose( fp ) ; } } }
あたまおかしい(´・ω・`)
なぜワザワザcppを使うのですか? 罰ゲームかなにか何でしょうか?
DXライブラリ使いで、向こうがcpp推奨で初めて触った時からcppなので… あと知識もないし
エラーってコンパイルエラーってことだろ sprintf_sのリファレンスくらい読もうな
おっとsprintf_sのテンプレート版なんてあったのか失礼
一応補足としてコンパイルは通ってて VC++環境で適当な部分にブレークポイント置いてfpのメンバを調べた時の話です for内のfread_s以前にブレークポイント置くと不適切なptr、 1回でもfread_sを行った後に調べるとアドレスが入っているという状況です
ファイル入出力は重い処理だから頻繁に呼び出すべきじゃない 1フレーム内で処理が終わりきれてないんじゃないのか あとバグが再現するコンパイルの通る最小限のコードをあぷれ
せめてRecDataの定義を駆け sizeofの使い方がおかしい sizeof(RecData[i][60])は60フレーム分のサイズじゃないよ まあ、それが原因じゃなくてどっかでメモリぶち壊してるとかだと思うけど
さっさとコードあぷれよ解決する気あるのか
自分にミスが無いと確信してstdioのデバッグを開始してるヴァカ 「FILE*のメンバーがおかしいです」とかstdioのソース全部読んでから言え
遅くなりました RecDataはRecData[30][60][92][2]です。マジックナンバーは普段はdefineで置いてます RecData[各操作対象][何フレーム目か][読み込み対象][読み込み対象]といった意味合いです また、書き忘れましたがrep.Loop_timeはrep.frameの60フレーム単位のループを何度したか、です これを使って現在が何フレーム目から60フレーム分を読み込むか決めてます あ、ほんとだ fseekの位置指定おかしいですね sizeof(RecData[i])にするべきでした デバッグしたら値も望み通りの値になっていましたのでこれで問題ないかと でもおっしゃる通りここは読み込み部分がズレるだけでエラーにはならないと思います デバッグしてみてもちゃんとfseekは0を返していました あとコードは上のものでRecDataとかrep.Loop_timeやrep.frame辺りを置き直すか定義してやれば再現すると思うのですが…… 呼び出し回数はこの問題が解決したら減るようにしていこうと思ってます 一応読み込みが多くなるタイミングでも処理落ちもありませんしHDDの使用率も10%にも満たないです
君が気づいていないどこかのコードで間違いを犯してるだけだよ fread_sを不必要にループで呼び出したりとか超初心者丸出しのコードだし
確かに情けないコードなのは自覚してる
でも適当に拾った他人様のコードでも俺の環境だと再現するんだけど
ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1439627054 例えばここのコード丸コピペしてmainにこの関数だけ入れて適当な引数指定しただけとかでも
何これ仕様なの?
void ReadChar(int startIndex, int bytes)
{
FILE *fp;
char data[1000];
memset(data, 0, sizeof(data));
size_t size;
fp = fopen("c:\\hoge.txt", "r");
if(fp == NULL) return;
fseek(fp, startIndex, 0);
size = fread(data, 1, bytes, fp);
printf(data);
fclose(fp);
}
マルチスレッドでやってるとか言うオチではなかろうな?
もう範囲を狭めてデバッグするしかないですね。
394 :
デフォルトの名無しさん :2013/08/15(木) 17:39:45.55
そんなにCRTが信用できないなら、 デバッグ版CRT使って見てみればいいじゃん。
>>391 > でも適当に拾った他人様のコードでも俺の環境だと再現するんだけど
一体何が再現したんだ?
拾ったコードとコンパイルしてるコードのファイルが違うというオチだろ
「何これ仕様なの?」 うん。お前のバカ頭の仕様だよ(ゲラゲラ)
わざわざ間違ってるコード拾ってこなくていいよ…
マルチスレッドではないです
>>395 >一体何が再現したんだ?
fopen_s後、fread_s以前ではFILE*のメンバptrなどが不適切なptrになってる
他の人の環境でも再現するものなのかどうか知りたかったのですが誰もデバッグまでしてくれた人はいないみたいですね…
さすがにファイルパスぐらいは書き換えました
あと先頭からなら読み込み自体は出来てますので
>>398 知恵袋とはいえ特に間違ってる所が分からないんだけどこれってどの辺が間違ってるの?
ttp://msdn.microsoft.com/ja-jp/library/hh977173.aspx msdnのサンプルコードでも再現したわ……
これは無視しても問題ないのかな
さすがにmsdnのリファのコードが間違ってるとも思えないし
>>386 で実のある指摘ももらえたし質問した意味もあったってことで
最初に晒したコードが情けなかったのは分かるけどここって初心者スレじゃないの
ほとんど煽りばっかで残念です
アスペスレじゃないんで・・・(´・ω・`)
ああそういうことか なんかうまくいかないからfpの先をデバッガで覗いてみたら_ptrとかのメンバが nullで「不適切なPtr」って出てきたから「こ、これか...」ってなったわけね。 それは単にVC++のライブラリの仕様だから
レベルの高いエスパーさんが来てくれたぞ
こいつうっぜ。 他人にデバッグ要求とか頭おかしい。
>>401 途中の解答のおかげでバグ消えてるのに、しれっと続けてるのか。
>>388 で本質を指摘してやったのに
親切に教えてもらいたいなら知恵遅れでもいけや
寿司を食いに来た客にマグロ一本出すアホがどうしたって?
寿司屋に釣竿買いに来るバカには丁度いいよ
自分のしょうもバグの恥ずかしさを無視するために、何か別に大きな問題があったことにしたがってる。 これ、多分精神医学的になにか名前がついた行動パターンだと思う。
伸びるプラグラマは、間違いや不明不知を認め、反省しすぐに取り掛かります。
>>399 > 最初に晒したコードが情けなかったのは分かるけど
けどってなんだよ、けどって。
まともなコードが書けるようになってから出直せ。
stdioをデバッグするヴァカなんだから推して知るべし
FILEのメンバを「ファイルパスのメンバ」って呼ぶ奴なんだから、あんまり責めてやるなよ 一応初心者歓迎スレなんだし
初心者でも暴れる奴はNo Thank You
バカにデバッガを使わせるからこうなるんだよ。 机上デバッグもできないバカはプログラミングしなくていいよ。
質問する方は謙虚さを忘れないようにね ボランティアで赤の他人のデバックなんて、何のメリットもないんだから、してもらえなくて当たり前なんだよ
て言うか、FILE メンバーとか見る前に、fseek( ) とか fread_s( ) の戻り値チェックしろよ、と言いたい。
20年以上前にそんなネタがあったなぁ 『すみません printfにバグがあると思うんですけどぉ』 『・・・』
>>417 printf() デブグはそれなりに有用なんだけどスタックを壊してしまうバグには無力なんだなあ‥‥gdb 発動は腹をくくらないと
すごい初級な質問なんですけど 長文使うときってでかい配列一個用意するのと何個かの配列に分けるのとじゃどっちが安全なんですか?
>>419 使い方によるんじゃねえの
長文が変更しないならでかい配列一個だけど
その後変更繰り返すなら動的に確保したいところ
動的に確保の意味がわからないならmallocで検索
>>420 早い返答ありがとうございます
変更繰り返すような場合なんでその辺ググってみます
サイズ1ギガとかだと、連続した領域の確保は難しい。 エディタなどでは全部をメモリに乗せずに、必要な時にHDDから読み込む。
vectorとlistの違いをちらっと思った。
ropeってどうなの
自分も気になる。
ブロック単位でメモリにキャッシングして キャッシュサイズ超えたら差分ファイルにおとしてメモリを間引く バックグラウンドで差分を元ファイルに適用
DB利用したほうが楽じゃないかな?
DBはおおげさすぎるかと
DBはさすがにあさっての方向過ぎる。
メモリマップトファイルが出てこないあたりに プログラム板の質の低化が伺える
インタプリタ言語の増殖と共にPGの質が落ちてるっぽい
メモリマップドは遅すぎる
メモリマップト メモリマップド どっち?
dだからドなんじゃね?
↑こいつばか
マップ マップド マップド マップ マッパー マッペスト
437 :
デフォルトの名無しさん :2013/08/21(水) 07:21:26.20
マッピング
Microsoftの独自拡張を学ぶのに最適な参考書教えてください!気になります!
439 :
デフォルトの名無しさん :2013/08/21(水) 07:30:54.36
Microsoft内部資料
テキストエディタ的なものなら兎も角、まずはdeque辺りで実装してから考えればいいよ。
>>433 水族館は すいぞくかん ではなく すいぞっかん だ
おぼえておけ
ニート ニーター ニーテスト
脚気の検査?
446 :
デフォルトの名無しさん :2013/08/21(水) 17:09:47.22
体育は たいいく ではなく たいく だ 覚えておけ
じょおうの類いかと思って辞書調べちゃったじゃないか
キャッチ キャッチト キャッチト
449 :
デフォルトの名無しさん :2013/08/22(木) 00:18:54.69
caught
450 :
デフォルトの名無しさん :2013/08/22(木) 05:15:49.25
英語はその程度の変化でいいけど、 フランス語は過去形とか以前に、私、あなた、あなたたたち、彼、彼女、彼ら(彼女たち)、で全部変化するからやばい
ドイツ語よりマシだよ
メモリマップドファイルって32bitWindowsだと仮想アドレス空間が小さくて(2GB)あまりデカい連続領域は確保できないような 64bitだと2TBとか確保できるようになるんだっけ?
そういうのがやりたいならWindowsじゃないほうがいいようなw
Win64使うと巨大なメモリ空間なのでメモリの無い場所にメモリマップドファイルを 確保して遊べるけど、スワップしまくりww
単純にキャッシュ効かせたファイルアクセスでいいかとw ってSSDってのがあるじゃん。終了〜
>>433 どっちでもいい
むしろ使えるのかどうか
>>454 WinAPIならスワップしないように作るときに指定はできる
>>456 どっちでもよくねーよアホ
過去分詞のedの発音には厳密なルールがある
>>458 いや、どっちでもいい
例えばcharをチャーと発音したとして、そのことにたいして意味はなく、真に重要なのは文字型の
変数を使えるかどうかだからだ
>>459 じゃあお前は自分の名前を間違えて呼ばれても訂正するなよ
伝わりさえすればどっちでもいいんだろ?
今度からお前のことは「どっちでもいい君」って呼ぶわ。誰のことを指してるのかは一目瞭然なんだから返事しろよ?
462 :
デフォルトの名無しさん :2013/08/22(木) 17:46:44.87
>>460 俺「しろき」だけどしょっちゅう「しらき」って呼ばれるが特に訂正しない
「さとう」を「たなか」と呼ぶレベルの間違いならそれはcharをintと間違えるレベルの話だから
言語は言語でも自然言語だぞ 英語のルールなんてネイティブでも適当なのに
プログラミングの話しようぜ
・C++のBoost ・.NET Framework ・Java標準クラスライブラリ のように使いやすい汎用ライブラリは、C言語ではどのような選択肢がありますでしょうか?
MFC?
468 :
465 :2013/08/22(木) 18:30:22.00
>>467 ありがとうございます。そういうライブラリを求めてました
は?
汎用…?C言語…??
MFCはCOMオブジェクトで構成されているため 汎用C言語ライブラリとしてごめん嘘無理
なんちゃってライブラリを自作するしかないかな?
リストとかマップとかのデータ構造のC言語用ライブラリってないんすか
各自でつくります
GLib とは、クロスプラットフォームのユーティリティライブラリ メモリチャンク 双方向および片方向線形リスト 連想配列(ハッシュテーブル方式の実装) 可変長文字列 可変長配列 文字列チャンク(文字列のグループ) 動的配列 平衡2分探索木 N分木 quarks(文字列とユニークな整数識別子を対応付けるもの) keyed data lists(文字列や整数識別子でアクセス可能なデータ要素群) リレーションとタプル 構造体のキャッシュ GLib - Wikipedia
これから勉強しようかと思ってるんだけどC++があるのにあえてC言語選ぶ理由ってある?
ない
win32のAPIはCだけど,MFCはC++I/Fって話じゃなかったでしたっけ?
>>477 Cを知らずにC++やっても身につかない
>>481 同意。Cは完全にやってC++は出来るところからやればいい。
「構造化されただけのアセンブラ」とまで言われた(けれど)可読性の高い低級言語で
コンピュータそのものを知る事ができる。その上でC++の何が便利なのか
把握しなければ活かせない。
>>481 C を知らずに Java やっても身に付かないの?
>>482 > Cは完全にやってC++は出来るところからやればいい。
マジで、いい加減このアホな考え方するやつ滅んでほしい。
これのおかげで、C と C++ がチャンポンになったクソコードが量産されてるんだから。
仮にC言語をマスターしてもC++のオブジェクト指向な部分は一切学べないわけだし、 「クラス一つ作れないC++プログラマ」が出来上がるだけかなーと でもBoostみたいな超有名ライブラリはオブジェクト指向的には作られてないから、 オブジェクト指向プログラミングができなくてもC++では困らないのかもしれない
> 出来るところからやればいい
>>486 時間の無駄だな
最初からC++をやれば済む話
ロートルが「C言語からやるべき」と言ってるからおかしくなるんだよ
Cが要る要らないは私の経験では強く言えませんなぁ。 ひとつ言えるのはどっちも出来る人は当然重宝されます。
++なんて拡張機能をやる前に 基本機能を押さえるのは当然だろう クラスが作れないってのは 目の前の社内の教育システムがお粗末なのを批判すべきであって 幽霊に石を投げても仕方ない
全体で見るとオブジェクト指向なのにメンバ関数内はC言語っぽくなる ダメなの?
>>490 オブジェクト指向プログラミングと構造化プログラミングに「基本」とか「拡張」とかいう関係性はないよ
Java学ぶ人に「クラスは拡張機能だからまずはクラス使わずに基本から学べ」と言うようなもの
C++にしろJavaにしろまさにオブジェクト指向が基本なんだよ
>>492 C++が出始めの頃は、better Cとして使え的なことを良く言われてましたが。
C++とCの大きな違いの一つはRAIIを用いた自動的な資源管理 これは言語仕様上Cには全く見られない概念であり、これだけでもC++から先に学ぶ意義がある
CとC#ある程度やってからC++やってるけど、OOPの書き方とCの書き方が混ざるのが何か楽しい Effective C++にクラスに属さないメソッドも使おうって記述あったし、デザインのセンスが問われる言語だわね
>>494 RAIIを知ったときの衝撃は今でも忘れられない。
生C(の延長としてのC++)と決別した瞬間だった。
boostじゃんじゃん使って、templateでコンパイルタイムに書くのが楽しい しかし職場では評判が悪い
>>497 あれは理解できる人じゃないと分かり辛いからね・・・。
>>493 それは年をとって頭が固くなってる人への慰めの言葉
iniファイルからセクション名一覧を取得して、セクション名をsplitするという処理をしたいのですが、 取得したセクション名の区切りがヌル文字なせいか1つの文字列として認識してくれません。 どうしたらいいでしょうか? コードではfor文を使ってsplitしたセクション名をSectionNameに入れています。 char SectionNames[1024]; GetPrivateProfileSectionNames(SectionNames,1024,FilePath.c_str()); char *WTF;//謎の内部パラメータ char *CheckString; for(CheckString = strtok_s(SectionNames, "0" ,&WTF); NULL != CheckString ; CheckString = strtok_s( NULL, "0" ,&WTF)){ string SectionName = CheckString; //Section名を使った処理 } 変数の頭文字が大文字なのは見逃してください
マルチすんなカス
C++相談室 part104のほうで、C/C++のほうで聞けと言われたのですが
言い訳すんなカス
>>504 すいません、次から直します。
質問の件なんですが、実際の所strtok_sでNULL文字区切りのsplitをするには
どうしたらいいでしょうか?
NULL文字が入っていたらstrtok()系は使えないだろ というかその文字列の本当の最後はどこにあるのかどうやって知ってるの?
これは何なの? CheckString = strtok_s( NULL, "0" ,&WTF)
>>506 えーと、ヌル文字が2連続で入ってるので、
for分の2節目のNULL != CheckStringで弾かれると思います。
>>506 CheckStringに一回確保したあと、2節目でNULL != CheckStringして、
問題がなかったらループを続行する、って感じです。
"0"はNULL文字・・・のつもりです
自前のmystrtok()作った方がいいんじゃないの?
>>506 イメージは
配列の頭からstrlenを繰り返し、strlenが0を返したら文字列の本当の最後とみなし終了
\0,\0判定。オーバーラン防止に配列の最後に達したかも判定しないといけないだろうが
これってGetPrivateProfileSectionNamesの定番使用法サンプルにやり方
あるような気がするんだけど
そもそもGetPrivateProfile〜なんて使わないほうがいいよ 糞遅いから
設計思想がC/C++の基本と言われても困る。基本は手続き型だ。どんな言語でも最小単位では 手続きでその方法はCとC++ではほとんど違いが無い。 C言語でも一連の処理や一つの対象に対して操作するモジュール分けが出てくる。 それをクラス化するととても便利だしtemplate化できれば非常に見やすくなる。 C言語をマスターしてクラス一つ作れない奴がいたら、そいつは構造体を使った事ないのかと 常に1つのソースファイルに全ての処理を記述してたのかと
>>513 はいはい、君はそのままやってなさい。
Better C でもそれなりに有効だし。
昔は、一生懸命説明してたけど、どんなに説明しても理解できない奴が一定数いる。
特にクラスと構造体がたいして違わないとか思ってるようなやつはダメダメなことが多い。
>>516 C++をBetter-Cとしてしか使えないのは無能なお前の方だろうが
動くか試してないけど、素直に char* p = SectionNames; while(*p) { char* q = p; while(*q) q++; string SectionName = string(p); // 処理 p = q+1; } みたいのじゃ駄目なの?
>>516 設計思想と言語仕様をごっちゃにしてるって事は分かった
ポリモーフィズムの利点が分からないとクラスにするモチベーションも上がらないんじゃないかなぁ??
例えばアクションゲームの敵を実装するとする。 まず敵クラスを作ってそこに共通処理とデータを記述しとく。 敵クラスを継承したクリボークラスやノコノコクラスを作る。 敵クラスを格納するリストを用意する。 敵クラス型のポインタにクリボークラスやノコノコクラスのオブジェクトへのポインタを格納し、 それを敵クラスを格納するリストに格納する。 リストを回して共通処理を順に実行するとクリボーやノコノコが動き出す。 素晴らしい
当たり前の事を自分が思いついたようにしゃべっても面白くないよ
でもこれが分からない奴がたくさんいるんだろ?
単にOOPを知らないだけじゃん そんなの自慢にもなんにもならない
堅牢なPGを量産して欲しい。今やC++使いってだけでも貴重かもしれんが
文句を言わず黙々とコーディングするPC?
>>526 偉い人はそう考えてる人が多くて困るね。
ヤンじゃないけど可能な限りラクをして組める人だな。最終的にラクをする為に事前の
苦労を惜しまない人だ。
オブジェクト指向なんてどうでもいいんだよ。問題はテンプレートだ
>>513 >>519 君の主張だとgoto文も好き放題に使っていいということになるよね
「言語仕様」の範囲だけでgoto文の使用を禁止すべきという根拠を用意できるなら教えてくれ。
設計思想を考慮しないプログラミングを行えばgoto文も使い放題ってことになる。
>>516 クラスと構造体の違いって、コンストラクタ・デストラクタの有無とメンバ隠蔽出来るかどうかくらいじゃないの?
構造体もコンストラクタ呼ぶし、メンバも隠蔽出来るじゃねえか >特にクラスと構造体がたいして違わないとか思ってるようなやつはダメダメなことが多い。 実際大して違わねえじゃんかw
アホレスしかできない
>>517 はほっとくとして、
>>519 はどこを見て「設計思想と言語仕様をごっちゃにしてる」なんて思っちゃったんだ?
詳しくは知らんがタスクシステムというのを使うとうまくいくらしい
結構曖昧な技術者多いんだな それでなんとかなってるかいいんだけど
flexdef.hをコンパイルしようとするとエラーが出るのですが、よく分かりません
flexdef.h:447:13: エラー: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
447行目は
446: extern int datapos, dataline, linenum;
447: extern FILE *skelfile, *yyin, *backing_up_file;
448: extern const char *skel[];
となっていて普通な気がするのです. どなたかお教え下さい
ttp://www.07ch.net/up2/src/lena9438.png
FILEは定義されてる?
541 :
538 :2013/08/24(土) 19:30:54.27
>>539 stdio.hをincludeしてます
まあなんかミスってるんだろうけど情報が断片的過ぎてわかんね 本気で見てほしかったらファイル全部うp
クラスと構造体の違いじゃなくてclassとstructの違いを言ってるんだと思われ。
>>543 ごめん、どのレスについての話なの?
あとあなたが言ってる struct は、C 言語のやつか C++ のやつかも書いてもらえるとありがたい。
C++じゃ構造体もメンバ関数持てるからな 機能的な差異は、デフォルトがpublic以外無いんじゃないか?
>>545 継承時のベースクラスのアクセスもデフォルトで private になるらしい。
まあ、C++ の struct と class の比較はあまり意味ないと思う。
>>532 C++で組んでるだけで「オブジェクト指向やってます!」って奴が多いってことだ。
オブジェクト指向は設計方針であってC言語でもアセンブラでもやろうと思えば可能
>>547 レスはしたいけど、ネタとしか書けないんだな (w
>>548 >C++で組んでるだけで「オブジェクト指向やってます!」って奴が多いってことだ。
自己紹介乙
>>550 C言語でもオブジェクト指向プログラミング出来ますが何か?
>>548 で、それが俺のレスになんか関係するのか?
>>551 そんな当たり前のこと言われてもなぁ...
>>552 オブジェクト指向を言語仕様だと思ってるんだろう?だからC言語の下地としての価値が分からない
>>553 口では何とでも言える。C言語でオブジェクト指向と聞いてビックリしてるのが現実じゃあないの?
基地外ロートルがファビョってるなあ
>>554 だから、
>>516 に言語仕様なんて一言も書いてないのに、どこからそんな変な考えに至ったのか教えてくれよ (w
>>557 C言語とC++の違いが便利さだけだって事をお前が分かっていないのがレスで分かるんだよww
>>555 初期の C++ 実装が C へのトランスレーターであったことを知ってるやつは珍しくないぞ。
ひょっとして、C で OOP できるの知ってるのは自分だけだと思ってた? (w
>>560 例外が導入された時にCの機能だけでは実現出来ないのが分かってネイティブになったろうが
>>559 たから、どの部分でそんな頓珍漢なこと思ったんだよ (w
もう頭のおかしい奴は相手にすんなよ ただのレス乞食だろ
>>562 それ C で OOP になんか関係するのか?
便利な機能というのは、それが何をしているのか分かって使うのが理想だ。もっとも現場では 工程の問題で使い方だけしか勉強できない時もあるが勉強する時間があるのならC言語を 先に勉強してC++が何をしてるのか理解するべきだ。
>>566 具体的に聞かれると困っちゃうという事は分かった (w
>>567 その理論だと半導体の電子の流れぐらいまで理解しとけばいいのかなぁ (w
趣味でレジスタの回路覚えたな
FFだからコンデンサ充電より高速
生粋のGeek対偏屈プログラマ
>>549 C++のstructも知らずにクラスと構造体が大違いだとか、ネタレスじゃんか
バカが
クラスをヘッダファイルとソースファイルに分割するメリットがよく分かりません ヘッダファイルに宣言と一緒に定義も書いたほうが一目見て分かりやすいのでしょうか? ヘッダファイルに全てを書いているうちに長くなってしまい見辛くなったのでソースファイルと分割したのですが いちいちinlineを書くよりもヘッダファイルに全て書いたほうがいいのでは、と思いました しかしクラスの再利用を考える場合は分割したほうがよい、と聞くため質問させていただきました また、いちいちinlineと書いておけば丸く収まるのでしょうか?
クラス関数の定義をヘッダに書く →クラス関数の定義が変更したとき、そのクラスを使う全てのソースが変更になり、再コンパイルされる ソースファイルに書く →定義が変更になっても、それを使うソースは変更にならないため再コンパイルが起こらない やっぱり規模次第だね
>>575 はい?
>>516 では C++ の struct なんて書いてないぞ。
どこ見てそんなこと思ったの?
> C++のstructも知らずに
>>546 は俺で、素で private と public を間違えてる。
それはおくとして、これ以上なにか知るべきことあるんか?
お前らって大学、何学科出たんだ? 俺は電子工学科 底辺職業だから、農学、文学部あたり情報系とは関係ない科出ている奴多いよな だから技術者でなくてドカタって呼ばれるのかもな
>>577 すごい分かりやすいです!
そういえばどこかで読みましたが忘れていました
これで心置きなく書けそうです
ありがとうございます!
>>548 >オブジェクト指向は設計方針であってC言語でもアセンブラでもやろうと思えば可能
さすがに virtual は無理だろ‥‥
vtableを自分で実装すればなんとか
>>581 クラスのインスタンスは関数テーブル(Vテーブル)を持っている。ぶっちゃけ仮想関数の
ポインタ配列だ。関数ポインタはCでも使えるよな
そりゃC++コンパイラが裏方でやっている仕事を手で全部書いてやれば何でもできるさ でもそれはプロの仕事じゃねーな 趣味の範囲だ
プロの仕事してる人は、こんなところで油を売っていないのではないかと思う多分 趣味でもいいんじゃないかな?
オブジェクト指向は何でもって言ったから設計の話かと思ったら 継承、vtableって・・そんなの再実装するぐらいなら素直にC++使えよと
最近はほとんどの環境でC++が使えるから、仕事でわざわざCを選ぶ事は無いね
>>538 たぶん #ifdef の条件コンパイルで #include が無効化されている
FILE の宣言を直書きしたらどうなるか とか
stdio.h 内の他の宣言は見えているか とか
1つずつ確かめるのがいい
Cなら継承と多態は実装を諦めろ
わざわざCを使う利点はないか CにあってC++にないものもないしな
小規模ならシンプルにするためにあえてCを使うというのも手かも
extern "C"
C++がCを包含しているとしても、基本はCでいいと思うよ C++がやっかいなのは、いくらでも予想外のコードが書けるってところ。 Cでもダメなコードはあるけど、C++のダメなコードの比じゃない
C#が至高
WindowsならC#、その他ならJava、組み込みは相変わらずC C++は実行効率と自己満足か
C#は何かキモい。 C++が好き。
>>590 でもC++でCそのままは動かねえじゃん?
環境:Windows7、VisualStudio2012 typedef struct tagPOINT { LONG x; LONG y; } POINT; Win32で定義されているこのような構造体を関数の引数で、 Func( POINT() ); というふうに渡したらメンバが0の構造体がちゃんと渡されていました。 構造体の0初期化としては、 POINT pt = {}; がありますが、 上記引数の例はクラスっぽい書き方です。 構造体って0初期化するコンストラクタを持っているんでしょうか??
C++で非PODならな
601 :
598 :2013/08/25(日) 15:04:09.24
>>599-600 おお、そんなものがあったとは露知らず。
勉強になりました。
ノリで書いてみて、「まさかこんな書き方通るわけ・・・え?w」
ってなったんですが、新しいことが分かってよかったですw
>>601 >>599 が言う通り、PODかどうか。
構造体やクラスの定義の時にいろいろ条件を満たした時だけ、
デフォルトコンストラクタが0初期化のものになる。
必ずというわけではない。
603 :
598 :2013/08/25(日) 15:29:32.64
気を付けます!
>>581 仮想関数系の仕組みは、わりと同じようなものを実装できるよ
どうしてもできないのはコンストラクタとデストラクタかな
特にデストラクタが致命的
デストラクタはGCのライブラリ使えば実装できるだろ
マクロ使えば余裕やろ
autoなオブジェクトに対してデストラクタが呼ばれることを保証する手段がないってだけだな。 CでOOPする場合はオブジェクトを常にヒープにとってポインタで参照する形が一般的。
つまりRAIIが実現できないのね
そんなものはプログラマが気を付けておけばいいだけのこと 言語の助けを借りないと碌なプログラムが書けない未熟さを反省しろ
関数についてる()って何を意味してるんですか? 呼び出しっていうのは分かるんですが、具体的になんなのかなぁと インラインなんとかってやつですか? 例えばFuncという関数があって &Funcが関数のアドレス Funcが? Func()が呼び出し??
カッコは引数を指定するためだろ。別の約束であってもいいがそんなに不思議か? コンパイラを作りなおせば Func タプ x タプ y でもいい。
>>610 関数呼出し演算子
関数名だけだと、只のポインタ
関数名をtypedefした事ないんだろうな
そもそもtypedefを使ったことがない どこで使うと便利なの?
関数ポインタはたいていtypedefして使うかな
だな 関数ポインタ型の変数を自分で作ってみるとわかるけど、かなり醜いんだよね
617 :
デフォルトの名無しさん :2013/08/26(月) 11:12:22.98
Gtk+やるんだけど、やっても無駄?面白い?
>>617 自分がやっていることが、面白いかどうか人に聞かなきゃ判らんのなら無駄なのだろうよ。
関数ポインタをtypedefするにはどんな書式にすればいいんですか? void (CMyClass::*Func)();//これが宣言 Func = &MyClass::FuncMem1;//これが代入 (this->*Func)();//これが呼び出し 呼び出しだけなら typedef (this->*Func) FuncCall ってできるかもしれませんが・・・
>>619 >typedef (this->*Func) FuncCall
Funcは型じゃなくて変数だからできねえよ。
やるならこう。
typedef void (CMyClass::*FP)();
呼び出しはこう。
FP mem_fp;
mem_fp = &MyClass::FuncMem1;
(this->*mem_fp)();
C++の仕事やりたい。 コンピュータの状態が分からなくなるモノなどプログラム言語と言えるか!
メンバへのポインタにも従来のC言語の演算子優先順位をそのまま適用してるから 汚いのは仕方がない
std::functionでいいじゃん
メンバ変数ポインタというのもあるのだよ
知ってるわい
function使わないとやっぱり汚いな class Test { public: void func1() { std::cout << "func1()" << std::endl; } void func2() { std::cout << "func2()" << std::endl; } void func3() { std::cout << "func3()" << std::endl; } }; int main() { void (Test::*pfunc[])() = {&Test::func1, &Test::func2, &Test::func3}; Test t; for (int i = 0; i < 3; i++) (t.*pfunc[i])();
C++ってCから建て増し言語で汚くなるよ
Cでずっとやってるとクラスを使いたくなってくるで クラス毎に関数名競合しないから プロジェクト毎でクラス名変えてたら関数名被ってもいいしな
メンバ関数を格納したクラスの状態が必要ない関数ならばstaticメンバにすりゃ小奇麗になるよ
関数名に、クラス名相当のキーワードを付ければいいだけだろう C++で異なるクラスで同じメンバ関数名付けられるっていっても、 内部的には、コンパイラがクラス名やら型名やらを付けてるだけだしな
>>631 だからさ、その手間が関数の数に比例するのとクラス1つで済むのとじゃ
クラス1つの方がいいねって
自作関数AをプロジェクトBとプロジェクトCで使用してたとする
関数Aはそれぞれのプロジェクト用に少し書き換えてある
この場合プロジェクトBとCの機能両方を使用するプロジェクトDを作る場合
プロジェクトBとCの関数Aは競合する
これを防ぐためにクラスの機能が欲しくなる
>>632 お前そんな状況で関数をラップして使ってんのか
関数名書き換える手間をクラス書く手間に置き換えてるだけじゃねーか
丸め誤差について質問させていただきます。 以下はWindows7(64bit)のVC++での動作ですが、 double d1 = 10.0; d1 += 0.3; int i1 = (int)(d1 * 10); double d2 = -10.0; d2 -= 0.3; int i2 = (int)(d2 * 10); double d3 = 10.0; d3 += 0.1; d3 += 0.1; d3 += 0.1; int i3 = (int)(d3 * 10); double d4 = -10.0; d4 -= 0.1; d4 -= 0.1; d4 -= 0.1; int i4 = (int)(d4 * 10); i1は103、i2は-103になるのに対して、i3は102、i4は-102になってしまいます。 このような丸め誤差をなくすには、 どの段階でどのような演算処理を入れるべきなのでしょうか。 intにする段階で+0.5や-0.5を使い分けて四捨五入? DBL_EPSILONをなにかに使える? 文字列を経由?
銀行なんちゃらってのがなかったっけ
>>633 > 関数名に、クラス名相当のキーワードを付ければ
これよりクラス1つ作った方が楽だって話の例を出しただけだよ
>>633 はどんなラップしてるん?
>>635 その場合なら「intにする段階で四捨五入」でいいと思うよ(試してないけど)
(int)でキャストした場合は(確か)ゼロ方向への切り捨て(matlabでのfixに相当)
だから635の様になっちゃう
クラス設計の押し付けはウザい シンプルに関数で書いてくれれば再利用もしやすいのに
名前空間…
関数をクラスでまとめる利点はパラメータとして渡せるところだな 名前空間はパラメータに出来ない
仮想関数のことでしょうか。
virtualは無理だろ
多分クラス自体が「型」になるって事じゃね? 型として扱えると言うことは、templateパラメータにもできるし、変数としてのインスタンス化も可能って事でしよ。
>>634 0.1というのは2進数で表現すると循環小数になってしまうから、10倍して計算して
最後に10で割れよ
646 :
片山博文MZコスモ ◆T6xkBnTXz7B0 :2013/08/28(水) 23:01:06.73
分数を使うという手もある
代数計算が簡単だよ
10進小数型を作るのも1つの手だが 10進数にも循環小数はあるからね 有理数型を作るのも1つの手だが 無理数は表現できないからね
多倍長を応用した固定小数点数が一番だね。 誤差消しを満たすには少数リテラルを一切使えなくなるから数の代入関数(方法)がダルイ&汚い事になるだろうけど
0.1ずつ足すだけなら 普通は10倍した整数で扱って 使う時に10で割る
C#やJAVAんかでは講座読みつつ色々アプリ作りましたが VisualC++2008(CLI)は.hやら.cppやらをどう使うかがよく判りません この辺を詳しく記した講座も見当たりません .hに処理を全部書くなんて説明もあったけど デザイナ操作で自動記述されるような.hに本当に手動追記していくことになるんですか? あとC++は前方参照不可とあるのにVisualC++2008で実際試してみるとそんなことは無いうえに 「こうするべき」とある通りにすると宣言重複だかでエラーになりますがこれは・・・
こうするべきってのを見て変更したその前後を示さずに何を言って欲しいの?
神様は言いました まずはCから始めなさい
>>651 CLIなんて拷問を受けるなんてお前はどんな罰を受けたんだ?
それとも変態のドMなのか?
神様は言いました 仕事で言語は選べない
仕事なら金払って誰かに教えてもらえばいいだろ 仕事で必要なんだから
C++/CLIはあくまで「繋ぎ」だよ C++のコードとC#のコードがあって、 その橋渡しをするためのもの フォームとかはC#で作れ
C++だけでdll作ってdllimportした方がスマート
質問なんですが #ifndef _ABC_H_ #define _ABC_H_ using namespace std; #endif とだけヘッダーに書いたら usingのとこでエラーが出て 「PCH警告:ヘッダーの停止はマクロまたは #if ブロックには配置できません」 と出ました。 #pragma once にすると大丈夫なのですが。 結局この警告は何がいけなかったんでしょうか。 過去ログを検索をして同じ質問があったのですが 結局解決されてなかったので今回質問させていただきました。
PCH = プリコンパイル済みヘッダ コンパイラの拡張仕様だから邪魔なら設定を変えるとかすればいい
ヘッダでusing namespace std;するなよ
これならいいでしょ? namespace cpp { using namespace std; }
>>659 それstdafx.h の中なんじゃない?
>>659 もういっそウィザードに任せずに自分でやったらどうよ
C言語始めて最初に覚えたのが「空のプロジェクト」に設定することだったw
俺はvimで文字を入力するスーパーテクニックの習得が最初だったな
viはまあ、理解したくなかったよ
668 :
デフォルトの名無しさん :2013/09/01(日) 13:28:17.82
GEditで充分だろ。
viをやってると、他のエディタに良く :w とか文字が混じる事がある
表計算にemacsキーを無意識に適用すると ナゾの欠損cellがあちこちに出来るしな
671 :
デフォルトの名無しさん :2013/09/01(日) 18:49:08.89
入力が少なくて楽だからついついCUIを使ってしまう バッドノウハウなのはわかってるんだけどね
672 :
デフォルトの名無しさん :2013/09/01(日) 19:09:17.24
>>669 それはないけどLinuxでCUI操作してるときにCtrl+Sを押して操作不能になるときがある
>>672 それひょっとして、Ctrl+Q で復帰したりして
674 :
デフォルトの名無しさん :2013/09/01(日) 20:05:58.73
ウィンドウズのGUIアプリをLinuxのGUIアプリにコンバートするツールってない? コンバートは実行ファイルレベルでもソースコードレベルでもいい もしくはウィンドウズAPIと同じ関数の入ったラッパー系ライブラリで インクルードするだけでソースコードをそのまま使えるやつとか 対象となるウィンドウズのGUIアプリはC/C++で作ってる
Qt使えば
WinAPIと丸々互換あるラッパAPIって便利そうだな。
wineとか
LinuxでWinの構造化例外をする場合はsignalでやればいいのでしょうか。
いいえ
なるほど
構造化例外とわなんだい?
windowsの例外
互換ラッパAPI作ろうと思ったら本当の意味でWin32APIを理解する必要が出てくる。 例えばウィンドウ一つ作るだけでも、「ウィンドウを作れます」ってレベルだと通用しない。 RegisterClassが何をやっているのか、CreateWindowが何をやっているのか、そこまで知る必要がある。 CreateWindowも「ウィンドウを作っています」では通用しない。 例えば引数として渡すウィンドウのクラス名。 これがどこにどういう形で保存されるのか、どうアクセスされるのか、 そこまで知る必要がある。
仕様に合わせればいいだけなんだから今の仕様を理解する必要はないだろ
685 :
デフォルトの名無しさん :2013/09/02(月) 14:35:45.92
今の仕様をじゃないな 内部の仕様を
やっぱ、C++が最高だな。刑務所はいってもできるかな?
ガチしょんぼり沈殿丸
688 :
デフォルトの名無しさん :2013/09/02(月) 20:13:41.80
∧_∧ ( ´∀`) あげ? ..\ (/u ノ \ 〈/フ'フ \ ∠∠/ \ \ \ 彡 .\ .\ .\_/| ̄ ̄ ̄ ̄ ̄| . | .|
スケルトン理解しないでもMFCは使えるけど危険だ。
仕事でやるのは大変かもしれないけど 趣味でやるならC++が楽しいね。
C++が一番気持ちいい。
CやってたらそのうちC++の機能が欲しくなる 構造体に関数追加みたいなクラスとかが
構造体の継承あったらなと思う事は良くある。 その他はどーでもいい。
privateいらんのか
例外が欲しい
setjump()とlongjmp()で代用 ものすごく限られるけど
namespaceほしい
まぁC++使ってるから関係ないんですけどね
あれ?再送 C++が使えない現場もあったな。UNIXなのにCオンリーとか
組み込み系ですが、100% C++に浸食されました RTXとかVxWorksとかですがね
組み込みですらC++使ってるのにどうしてWindowsもLinuxはC使ってるんだろうね
へ?WindowsはドライバでさえもC++じゃなかたっけ? OS本体のこと?
>>702 OS本体はC言語
インサイドWindowsに書いてあった
>>702 WDKのC++の冷遇っぷりは異常
kernelチームがC++嫌いみたいだね
>>703 カーネルのコア部分と一部がC言語なだけであとはC++じゃね?
WDKってRTTIと例外使いないだけで思いっクソC++使える気が 普通の組み込みも大体そんな感じ
win32はCで実装、win64はわからん。 数学とかパズルが好きな人はC++が好きよねぇ。 ほとんど趣味の世界w 今ナンプレ解読プログラムをしこしこ作ってます。on linux g++
趣味の世界じゃねーよ 世の中の主要なアプリはC++で書かれてるんだよ
仕事はなくなってきてるけどな
> 世の中の主要なアプリはC++で書かれてるんだよ そのせいで新OSになるとGUIが崩れたり DLLのバージョン違いで起動しなかったり 色々不具合あるんですけどね。 いい加減C#使えよ
>そのせいで そのせいじゃないだろそれは 俺は今C#アプリ作ってるけど、これが楽な理由の大部分は.netフレームワークが良く出来てるからだね ただしC++でやるのに比べると圧倒的に遅くてモッサリしてる
>>710 .Netも結局1/2/4で中途半端な互換性作ったせいで面倒になっとる
なんでこんな事になったのか
フレームワークは無駄な機能を載せずに堅く作るべき
C#って趣味プログラムレベル程度のものしか使われていないからな 金を稼ぐアプリや基幹システムのほとんどがC++で開発って状況で、C++プログラマは引く手あまた
mmdagentのソースでも見て勉強しろよ
>>714 あまた過ぎて、C++技術者(プログラマー以外にも)が不足して、
うちの会社はC#に舵を切った。
年に40人くらい募集しても、半分も集まらないとかわろす。
速度は問題ないよ。下手なC++ライブラリーよりも安定しているし。
どう考えてもC++が基本だがな。ネイティブ言語で最も強力。 高級言語は言語仕様が言語の限界。C++は直接IOを叩く事すらある
ポインタで挫折してもPGで食っていけるのか…昔のPGはキャッシュ操作さえプログラム 出来ないかと考えたもんだが
仕事はJavaの方があるけどな C系は組み込みだけ
組み込みの方が単価高いだろ
一束いくらで売れるJava使い
>>720 組み込みでも、ピンキリ
対象組み込みの物の知識がどれ位あるかが重要なんだよ
エンジン制御のソフトやるニダ。エンジン制御の知識ある人身売買ドカタどれ位居るあるね
お前らならエンジン制御やロケット姿勢制御など専門知識が要求されるものでもすぐに開発できるんだろうがな
まーなくても、2,3日で取得できるよな
コンピュータの基本的構造さえ分からない奴が機械の制御など出来る訳が無いわな
ゼネコン向けの受注開発で食いつないでるけど、物をいうのは建築士の肩書きとか 設計事務所勤務の経歴なんだよな。 プログラミング技術なら俺より高い競合相手はたくさんいるはずなんだけど。
クルマのエンジンを作るのとF1のレースに勝つのは全く別の技術だ
配列の実体を返り値にもつような関数は作れないのでしょうか
std::arrayかstd::vectorを返す
newすりゃいいじゃん それかvector返せばいい
すごい関数を作るもんだな。 まぁ人によるか。
726です std::array を使ってみます ありがとうございます
パラメタでvectorを参照で渡すってのはだめなの?
> 返り値にもつような関数 って聞いてんのに?
させんした
>>731 じゃないとtraitsとか、全く使いもんにならんから当たり前っちゃ当たり前だけどな
例外の型を調べるにはどうすればよいのでしょうか
737 :
デフォルトの名無しさん :2013/09/05(木) 20:47:11.25
なんえ、C++/CLIのスレがないんですか?
あるじゃん
オワコンだからじゃね
C++とC#が存在する限りオワコンにはならんだろう
オワコンとは完全に息が止まった状態ではない
ネイティブがある限り、コンピュータの仕組みが根底から覆らない限りC++にはチャンスがある
C++と生涯をともにするつもりだぜ。
>>742 >コンピュータの仕組みが根底から覆らない
漁師は実際どうなんだ?
朝鮮人はちょっと黙ってて
カムサハムニダ
量子計算は一部の問題に画期的な解決をもたらすが、コンピュータ自体に大きな変革を迫るものじゃない
イマイチ量子コンピューターってよくわからないが グラボがものすごくなったりしないの?
グラボで期待されている計算とは得意とするところが違うんだよ。
なんか並列処理が強くなりそうなイメージなんだが まあスレチなんでこのへんで
まぁ素子数は無限に近いわな。 どやって状態を制御するのかさっぱりわからんが。 という事でC/C++は永久に不滅です。 速度の問題じゃないよね。 javaにしろネイテイブコンパイラ作っちゃえば速いだろうし。
きっと革新的な技術が生まれて アルゴリズムテレポーテーションとかやらかしてくれると期待している
速度“だけ”の問題じゃない。C/C++の柔軟性は他の言語ではアセンブラ以外には真似できない
リフレクションが無いのに柔軟とか。爆笑
コンピュータを知らないで情報技術者名乗ってるのが丸分かりwwこっちが爆笑だわ javaなど所詮、sclipt
リフレクションって何?食えるの?
リフレクションはインタープリタだから出番は少ないけど 例えばマイクラでmod_なんとかかんとかというModLoaderやForge用のクラスを 読み取るには必要不可欠
>リフレクションはインタープリタ 勘違いにも程がある
javaをC/C++で書けばいいのだ。 昔こんな論争があったなぁ。 fortranをCで書けばいんじゃん。終了〜w
>>758 インタプリタ型言語という意味で言っているのではない
と俺には分かる
動的バインディングとかそういうことを言いたいんだろうが、 インタプリタってのはやっぱり違うと思うぞ。
763 :
758 :2013/09/08(日) 13:10:15.20
>>761 >>754 は柔軟性の話をしてるんだろ。
リフレクションの本質はプログラム自身の
構造の情報が実行時に取得できることであって、
情報にアクセスする手段がインタープリター的とか
どうでもいい話だし、
リフレクションによって動的バインディングが可能に
なるのはそのおとりだけれどそれは
>>762 の通り
「分かってないのはお前」 「意図を勘違いしている」 典型的なアスペ・コミュ障の 意味のないレスですね。
// my_class.h class my_class { // ... all public and protected stuff goes here ... private: class impl; unique_ptr<impl> pimpl; // opaque type here }; // my_class.cpp class my_class::impl { // defined privately here // ... all private data and functions: all of these // can now change without recompiling callers ... }; my_class::my_class(): pimpl( new impl ) { // ... set impl values ... } Pimplのmy_class::my_class(): pimpl( new impl )のシングルコロンが意味分からない どういう意味でしょうか
>>766 メンバーや親クラスを初期化する基本的な構文なのだが。
メンバイニシャライザで検索
770 の自演レベルが1上がった
これって安全です?std::stringの生存期間がよくわかんなくて printf("%s", std::string("abc").c_str());
;までだから大丈夫
printf("%s", strstr("abcde", "c")); これと同じ事
ありがとうございます
でも
>>774 はちがくない?いつまでも使える文字列リテラル中のポインタのような(教えてもらったのに反論してゴメン
774は関係ないな。
778 :
デフォルトの名無しさん :2013/09/12(木) 21:02:10.99
VisualStudio2012でのC++ですが、リンカオプションの値をプログラムで取得する方法はないですか? 具体的には、/LARGEADDRESSAWARE のYes/No によって処理を分けたいのです。 コンパイル時定数として取得できませんか?
externで、変数を複数のソースでグローバルにしたいのですが、 変数がたくさんあり、一つ一つexternを付けるのが面倒です。 一つ一つextern付けなくてもいいような方法ありませんか?
関数でやり取りすればいいじゃん
>>780 extern {
int a;
int b;
int c;
}
とかどうだろうか?
>>779 コンパイル時に判定する方法はわからないが、実行時でもよければ GetSystemInfo()を使い、
SYSTEM_INFO.lpMaximumApplicationAddress が 0x80000000 以上か判定すればOK。
3GBスイッチも考慮するなら 0xC0000000 で判定すべきかもしれない。
>>780 構造体をmain.cppで普通に宣言
各関数に構造体のアドレスを渡すでよくね?
TimerProcはSetWindowLongPtrとGetWindowLongPtrで
786 :
779 :2013/09/13(金) 07:10:44.30
>>784 確認してみます。ありがとうございます。
>>780 C なら extern を全部はずして無問題
初期値の代入はわすれないでね
extern は要らない子っ
>>779 原理的にムリ。コンパイルのあとリンクする。
リンク時にはすでにコンパイルは終わってる。
789 :
デフォルトの名無しさん :2013/09/13(金) 09:41:13.36
貴様はもうコンパイルガスんでいる
>>787 externは必要だって散々こき下ろされてた癖にまだ言ってるのかこの老害精神障害者が
extern = public static = private
>>787 www54.atwiki.jp/qzaw55cn4c/m/pages/16.html
めっちゃ論破されてるじゃん
>>793 ワロタ
これまだ残っていたのか
「頭隠して尻隠さず」のQ君は今どんな気分かな?www
何か明確な理由があって要らないと言ってると思ったら 根拠は規格上省略可能ってだけ? こんな致命的バグを出しそうなとこで手を抜くなんて狂っとるわ
796 :
779 :2013/09/13(金) 21:52:38.56
>>784 ありがとうございます。できました。
32bitアプリとしてビルドした場合、
LARGEADDRESSAWARE がYesのとき、4,294,901,759
LARGEADDRESSAWARE のNo のとき、2,147,418,111
にそれぞれなりました。
>>788 NDEBUG マクロとかと同様に考えてました。
コンパイル時とリンク時に同時に同じ意味合いのマクロ指示などを与えたらいい。 リンクだけ限定して指示する考えをやめたらいい。
>>790 え?
dll とか .so とかのソースが手に入らない変な場合に extern をいやいや使う、くらいしか思いつかないんだけど
>>795 tentative defenition は立派な理由になると思うけど、だめですかね
>>798 dllやso使うのにソースは要らない
externは必要に応じて使うもので、好き嫌いは関係ない
801 :
デフォルトの名無しさん :2013/09/15(日) 06:46:59.26
ポインタのポインタって Windowsで言うところのショートカットのショートカットを作っただけ?
違うな。 ショートカットは飽くまでファイルへの1重ポインタ。
それに、ポインタは配列みたいにアクセスできるから、ショートカットとはちょっと違う
どちらかというと配列の要素アクセスの時に ポインターが使われる
ポインタは別に配列が主体じゃないだろ ポインタ演算ならわかるが
>>801 この場合
A = C:\Windows\System32\notepad.exe
B = Aのアドレス
Aがnotepad.exeのポインタ
BがAのポインタ
フォルダがポインタ
配列がフォルダ
関数にもできるよ、ほら template <typename T, size_t SIZE> inline size_t arraySize(const T (&x)[SIZE]) { return SIZE; }
810 :
809 :2013/09/15(日) 11:31:50.67
誤爆すまん
>>809 これで constexpr 付ければ最強だな。
813 :
デフォルトの名無しさん :2013/09/15(日) 20:40:02.23
接続されたUSB機器がUSBフラッシュメモリか、それ以外かを判断したいのですが、 シリアル番号を持っている、という条件だとモデムやらWifi機器やらカメラやらが シリアル番号を持っているため判断できません。 DeviceIoControlを使って PUSB_NODE_CONNECTION_INFORMATION_EXを取得して、 結果の中のDeviceDescriptorから判断したいのですが、 iSerialNumber や idVendor や idProduct だと どうしても判断できないため、DeviceDescriptorあたりの情報から なんとか判断する方法は無いでしょうか。
C/C++なんかね
何のライブラリなんだろう
マルチ消えろよ
>>809 テンプレートで配列の要素数を取り込めるのは知ってたけど、
それをそのまま返すという発想はなかった。
要素数取れて普通に有用なのはinline advice関数くらいしかないからね
>>813 C/C++野郎でもゆとりの多いアプリ屋じゃそんなことは分からんよ
デバドラ屋なら分かるかもしれないが、ゆとりはデバドラなんてやらないからな
また炎上学習ですか?
WinUSBで取れるだろ。 そもそもマルチなんだからスルーしろよ。
DeviceDescriptor取得すればUSBのflashって分かるのか?
>>823 DeviceDescriptorの取得方ではなく(PUSB_NODE_CONNECTION_INFORMATION_EXを使って取得)
DeviceDescriptorで判断できる?って聞いて
できないなら、なんか別な方法はあるニダかって聞いているんじゃないのか
827 :
デフォルトの名無しさん :2013/09/16(月) 21:43:41.96
>>798 全然違うから
>>799 ポータブルじゃないと規格に書いてあるから
externが不要とかほざいてるうんこは世界中でお前一人
externを使うようなプログラムが不要
関数ポインタはグローバルにする時あるけど グローバル変数はヘッダでexternが定石だろ
ひとつ聞きたいのですが、 shared_ptrの使い方なのですが、 1. shared_ptrは保持せず、shared_ptrで管理されているクラスのみ保持する使い方でも問題ないでしょうか? 2. 1.は管理されているクラスがどこからか参照されていれば、開放はされないということで正しいでしょうか? 一応動作では管理されているクラスの保持している値などは参照できたのですが、こういう使い方でもよいのでしょうか?
>>831 言っている意味がいまいちわからないのでコード貼ってくれ
>>832 説明下手ですみません。
class CLS{};
std::vector<CLS> clsVector;
std::shared_ptr<CLS> cls = std::shared_ptr<CLS>(new CLS());
clsVector.push_back(*cls);
こういう感じで使っても問題ないか知りたいです。
問題あるよ std::vector<std::shared_ptr<CLS>>にしなきゃだめ それに、インスタンスにclsって名前を付けるのは物凄く違和感がある
>>834 やっぱりそうですよね。(clsについては触れないでください。適当につけてしまったので)
shared_ptr自体を保持しておかないと駄目ですよね。
すみません、ありがとうございます。
もう少しいろいろと検討してみます。
GC言語脳になってる人がC++をやるっていうのは色々難しいところがあるみたいだな 逆は簡単なんだけど 裏にあるメカニズムが見え見えだから
>>833 >>834 この場合だとpush_back(*cls)でclsVectorに追加されるのは*clsのコピーだから問題ないんじゃないか?
std::vector<*CLS> clsVectorだと問題だけど。
>>836 参照でなく実体を取り扱うことが多いのも問題じゃないかな、この場合。
コピーコンストラクタ走りまくり。
>>831 の期待してる動作ではないだろうなあって話じゃね
コピーをvectorに入れるならshared_ptr云々は全くの意味不明だわな
コピーを許容できないからわざわざshared_ptrなんかでラップするんだろうしね
shared_ptrと関係ねえだろ。値渡してコピー生成してたら。 値渡しのためだけに余分にコピーつくる意味がない。
重箱だがstd::vector<T>::push_backは参照渡しで、参照渡しされた要素のコピーを生成して保持、じゃね?
push_backには左辺値参照と右辺値参照の オーバーロードがあってだな
気にせず代入しときゃ問題ないよ
さらに最適化も加わるからカオス
訳がわからなくなったので殆どポインタ型しか入れなくなった俺
const TCHAR hoge1[] = _T("hoge1"); const LPCTSTR hoge2 = _T("hoge2"); 上の二つ、sizeofの値が違うのは理解していますが、 C++で文字列定数を扱う際に、それ以外でなにか違ってくることってありますか? 通常はどっちを使うべきなのでしょうか。
上はスタックに積まれる
char*とchar[]の違いと同じ違いだろ
前から思うが、Tを使う意味あるのか? windowsでしか意味ないだろ? しかも、ほとんどのwindowsはunicode対応してるだろ。 使われるべき実体のwchar_tで統一すればいいとおもうが。
unicode移行期につけてそのまんまってパターン 周りがついてるのに自分が書いたとこだけついてないとおかしいからつけてる
T付けたらUNICODEマクロありなし両方の動作保証しなきゃならなくなる。 領域サイズの取得やメモリ確保で間違いが起こりやすいとおもうし 積極的に使いたくない。
Tついてるのにもうたぶんunicodeでしかビルド通らないわ
Tを付けない人は、GetWindowTextではなくGetWindowTextWをちゃんと呼んでるの?
俺の知る限り呼んでない。
856 :
デフォルトの名無しさん :2013/09/17(火) 20:48:08.62
自分の脊髄反射を晒してないか?
またHogeかwww Hogeって書いてる奴は荒らしだからスルーでいいよw
うちの会社はお客さんがWindowsXPに完全移行した時からUnicodeのみを明示的に使うように
決めてるな。
>>854 の言うように、文字列定数はL""、APIはW付きを明示的に呼ぶ。
MSVCもWindows9x向けのバイナリを吐けないバージョンしか使ってないし。
L""はやってるけど、 APIのW付きはやってないなぁ。 プロジェクトの設定でUnicodeにしとけば自動でW付き読んでくれるから大丈夫だよね?
>>847 お前みたいな愚図はプログラミングしなくていいよ^^
迷惑だから^^
こんなところで毒吐いても貴方の境遇は改善しないから 大人しく首でも吊ってた方が幸せですよw
職場の同僚なのか
865 :
デフォルトの名無しさん :2013/09/17(火) 22:58:13.17
ほげぇほげぇ 馬鹿じゃねw
うるせえぼけ hogeは禁止だ
早速自作自演ですかくご苦労なこった
この発狂具合を見て寧ろ積極的にhogehagefugahogaを使う気になった。 ありがとう。
本番コードでは適切な名前に書き換えて貰ってこそのhogeだもんな こんだけ発狂してくれるってことは、そうしてくれることだろう …あ、もしかして発狂してる奴って、hogeのまま出して何かあったのかな
hageを使ったサンプルコードをそのままコピペして、 取引先の責任者がハゲで死ぬ羽目になったとか。
hoge厨は妄想癖まであるのか すごいな
const LPCTSTR って意味あんの?
あんよ
>>872 あなたを自演まで駆り立てることがなにもなかったんですか?
なおのこと自身が愚かであることを主張していることになるのですがよろしいですか?
人間の行動には常に理由が伴わなければならないのですが、ないのですね
あなたのような役立たずが生きているから困るんですよ
相変わらず役立たずなクソ薀蓄ひろげて誰も元質問に答えてない件
反応が薄いものだからアンチの自演が始まったな→
>>875
Win32API質問箱から出てくんな荒らし
879 :
デフォルトの名無しさん :2013/09/18(水) 04:35:58.04
hoge使ってる奴にまともな奴なんかいないんだから相手にするなよ ヲッチャー以外はhogeはNG入れとけ
hoge使ってる奴がまともかどうかは知らんけど、hogeアンチがまともじゃないのはよくわかった。 中身の一切ないhogeアンチレスでどんだけ伸びてんだと。
クラス名にhogeを使うのは普通
>>880 が頭のおかしいhoge厨だということがよく分かるな。
適当にレッテル貼って優越感に浸ってる知能障がい。
レッテルというかただの事実だな。 hoge使ったこともないやつを「頭のおかしいhoge厨」「知能障がい」と呼ぶのはレッテルだろうけど。
hogeを使ってる奴→頭がおかしいのは一目瞭然 hogeを使ってる奴がまともかどうか知らない→頭がおかしい hogeを否定しない→hoge厨
自分が適当に貼ったレッテルを事実とか言い張るのってどこかの民族に似てるなw
>>883 はヲッチャーだよ
hogeキチ以外のまともな人はhogeをあぼーんしてるからね
ここ本当にほげスレになったな。
hogeなんて、はずかしくてかけない 羞恥心 教養がそうさせない
識別子、名前
>>888 羞恥心や教養のない奴が増えてるんだよ。
道端に唾吐いたり、
電車の床に座って化粧したり、
バスの椅子に脚広げて座ったり、
hoge使ったり。
本当に羞恥しないといけないのは、名前じゃなく、コードの質
底辺だから分からないんでしょ
業務時間中に掲示板を荒らしたり。
禿げ乙
hogehage
>>891 羞恥し罵倒されるのが目的で公開オナニーを続ける変態がいる。
>>888 あー、それ
その場を取り繕うだけの安っぽいプライド
初心者歓迎という事で質問させてもらいます 今C言語を学習しています プログラミング自体はPHP,JS、Pythonなどしているので出来ます で、C++について質問させて頂きたいのですが、オブジェクト指向は上記のプログラムで慣れ親しんでいるのですが、 あるCの本にC++は分かりにくくてあまり好まない人が多いと書かれていました 実際MySQLやLinuxはCで書かれていますが、多くの現場や環境ではC++ではなく、Cが使われているのでしょうか? 本の数も少ないですし、検索結果でもインターネット仕様が考慮されていない為「C++ 人気ない」など書かれたりしています もし学習するならC++よりJavaの方がいいとか簡単だとかあるのでしょうか? 自分としては汎用的な言語を探していまして、Web関連のものより、Windows、Linux(特にLinux上での)ソフトウェアそのものを作りたいと考えております
コーディングなんか技術革新でどんどん不要になるから プログラミングの勉強なんて無駄な時間を消耗しない方がいいよ
>>898 それでプログラムをしたことがありますといわれても
目的からするとC++だけど、両方できたほうがいいと思う
できたからどうだというものではないけど
>>899 ごめんなさい
HogeJavaとはなんですか?
>>900 具体的にはどのような事でしょうか?
ライブラリとかフレームワークとか出てきて、それで時間削減して簡単に作るという事でしょうか?
例えばJavaScriptでいうPrototypeやらJQueryやら
それとも、既成の製品を使って/組み合わせて別の製品を作っていくという事でしょうか?
30年前から>900みたいな事をのたまうド素人が後を絶ちませんが プログラミングの仕事は増えるばかりです
>>898 オープンソースのプロジェクトが山ほどあるんだから、ソースを見てみりゃいいじゃねえか
まあLLばかりやってたら、これでプログラミングできるって いえるのだろうかと不安になるわな CもC++もやって、次はマイコンでアセンブリ言語やると なんとなく俺はプログラミングできるぞって気になるよ。
>>902 アンチhoge厨とそれいじって遊んでる奴らのレスだから気にしなくていいよ。
HogeJavaで検索
>>897 だよな、安っぽいよな
まぁそれでも人として最低限のプライドすらないhoge厨よりマシだが
>>902 MMDAgentっていうアプリがC++でオープンソースだから見てみたらいいと思う
>>898 今は確かにJava、C#などのより抽象度の高い言語が人気あるし
C++の詰め込みすぎカオス仕様は嫌う人も多いけど
同時に「何だかんだで必要とされてる言語」のひとつでもある
ゲームとかは(携帯電話除くと)結構C++多いんじゃないっけ
んで、Windows上やLinux上のアプリを作るならば
それがクロスプラットフォームという意味ならJavaや、またはいっそWebにしちゃうのもアリ
個別ならWindows向けにC#辺りが楽だが、Linux向けは何だろ…詳しくないがPythonもフロントエンドとしてしばしば使われるらしい
ただどちらのOSも根幹部分にはC言語が絡むので
C言語を学んでいると役に立つのは間違いない
そのついでにC++もちょっと触るくらいでいいと思う(C言語環境の多くはC++兼用だし)
C++を本格的にやり始めると底なしなので…
C++ってSTLもない頃にやらされてイヤになったけど、今は一番面白い
ほげを生理的に気持ち悪いって感じない奴は脳・精神に欠陥あるよな
>>898 言語の前に情報工学を学んでいるのか?
いなかったらまず情報工学の基礎を学べ
自分にとって生理的に気持ち悪い物について他人へ合理的な説明もできずに延々粘着してこき下ろすやつも脳・精神に欠陥あるよな。
そもそも粘着する行為自体に欠陥あるよな。
>>912 情報工学としてモノ教えようとしてる奴自体がピンきりだしその丸投げは不親切。
ststicおじさんみたいな奴の教えを請ってしまえば死ぬしか無い。
C++はオワコン
staticおじさんって誰だっけ オブジェクト指向ってしっくりこないんですの人だっけ
>>913 合理的な説明は何回も出てる。
直近5スレ以内漁れば最低1回は出てくるよ。
まぁただそうやって印象操作したいだけで知ってるとは思うが。
C#やJavaのほうがC++よりも学習分量は多いだろ。 C++文法のほとんどはC#やJavaに含まれていて その上C#やJavaは標準関数がC++を圧倒している。 C/C++はできることが少ないこと=自作部分が多いことが難しい点では。
>>913 近所で小太り髭面角刈りのオッサンがブラとパンティで近所をムーンウォークしてたら生理的に受け付けなくね?
お前いちいち合理的な説明すんの?
「何あの人気持ち悪い」って近所の人が言ってたら「こきおろしてる」って非難すんの?
「またあのキモい人がいるよ」って見かけるたびに言うるだけで「粘着してる」って言うの?
それと同じだよ
お前の感覚は世間とずれてることを理解したほうがいい
919 :
デフォルトの名無しさん :2013/09/18(水) 20:24:38.06
それは理解しないほうが>913にとっては幸せw
>>915 たしかそいつだな。コイツはそれとは別の意味でヤバイけど。
>>917 まさにそこが底なしな所以でしょ
Javaとかだと「とりあえず既製品探せばいいやー」であんま考えないからな
…あと仕様はC++ > Javaじゃねえか?流石に
Javaの仕様ってC++から厳選した仕様だけ持ってきた印象強いんだが
>>922 基本的文法でC++から削られてる部分は少量だが、追加部分が圧倒的大。
このHogeの人は本気でやってるのか?
複数スレで定期的にやってるみたいだし本気だろう。 黒バスのキチと同じで、巻き添え食った奴が一番損するクソパターン。
hageと空目して怒りが爆発してるんだろ
C++を使うのはオートマの車のほうが楽なのにマニュアル車のほうが楽しいからそっちを好む感覚に似てる
printfと違ってhogeは使わなくても困らないんだから禁止にしときゃいいじゃん 平和が一番だ
>>927 自分でコントロールできることの有難味を感じると、もうC++から離れられんわ。
>>928 禁止しても荒らし目的でわざわざ書く奴がいる
相手すんなって植木先生が言ってた 趣味でどれか1つって言われたらC++だな C#の方が簡単だけどな
HogeをNGに入れとけば済む話だろ Hogeってワード含む書き込みはHoge厨、アンチHoge厨、煽り屋、ゴミ質問者、ゴミ回答者 ぐらいしかいないから読む必要はないだろ
>>918 ホントそうだよ、世の中甘く見過ぎなんだよな。
ムーンウォークなんて後ろ向きで歩くんだぜ?
後方確認は必然的におろそかになるんだよ。
そこに三宅雪子を立たせてご覧よ。
次は上手くやられちゃうぞ?
>「何あの人気持ち悪い」
三宅雪子みたいなのが来ちゃう
となるわなぁ恐ろしいよ。
アセンブラ
>>932 前3つはともかく後ろ2つを弾きたいならこのスレ自体読む必要ないし
936 :
デフォルトの名無しさん :2013/09/19(木) 00:12:52.52
おっぱっぴー
>>935 は初心者とゴミの区別がつかないとみた
こういう奴が荒らしだろうが何だろうがレスつけるから迷惑なんだよ
人生楽しそうでなにより! hogeだけでそんなに楽しめるなんて羨ましいぞ
939 :
デフォルトの名無しさん :2013/09/19(木) 03:34:22.60
hogeもクールジャパンの一つとして世界に広めよう!
お前らよく飽きもせずそんなくだらない事で言い争ってられるな
生理的に無理になった過程を言えば納得するんじゃないか?
精神科行くレベルなんじゃね?hoge嫌悪厨は
hogeに同僚を殺された。 毎日毎日深夜までhogeと書かれたコードの修正。 自殺なんかじゃない。 あいつはhogeに殺されたんだ。
>>943 ああ妄想と幻覚が出てますね
今すぐ精神科へ
>>944 俺が?俺が病気だっていうのか?
バカを言うんじゃない。俺は至って正常さ。
病気なのは奴らの方さ。
毎日毎日hogehogehogehoge
病気じゃなければ一体何が奴らにhogeと書かせるんだ?
俺は正常さ。病気なんかじゃない
hogeと書く奴が病気なんだよ。
これは重症ですね
ほげえええ(完全論破された時の擬音)
あのさ、俺思うんだけどさ、C学習したい人ってPHPハックするのが一番いいんじゃない? 色んな関数あるし、関数作る際勉強になると思う php-srcのmain.cから読んでいって.... どう思う?
PHPはもとからあるC/C++ライブラリを取り込んでいるだけで それぞれが読みやすいとは限らない。 正常に動作することが優先で独自コードは少量。
>>948 オプソ読むのはコードリーディング能力も鍛えられるし良いんだけど、
癖の強いコードもままあるし、規模がでかいと厄介な事もあるしなぁ…
ちなみによく聞くコードリーディング対象の鉄板はLinuxカーネルな
読むより書いたほうがいい
コードなんか読んでてどうするのよ 周りのみんなは受験勉強やら自己啓発で資格取得やら親しい友人と親睦深めたりしてるのに プログラミングなんかしてても受験、就職、出世、何の評価にも繋がらないぞ しかも10年も経てば今やってることなんざ時代遅れの何の役にも立たない糞知識と化すの分かってるのに 時間とエネルギーの無駄遣いTOEICの勉強でもしてた方がなんぼかマシ
実装部分がライブラリ依存だから、コア部分はPHPソースだけではわからない。
>>950 hoge君がいまのコードリーディングの鉄板はboostだって言ってたよ
boostぐらいは自分で実装できるレベルじゃないと、hoge君たちから馬鹿にされる
huxexe(ふぇぇ)にならないかな それならかわいいから許したくなる
hogeは朝鮮語って字感だけど、huxexeって中国語って字感するじゃないか
linuxカーネルはlxrのおかげで読むのが楽なだけで 結構癖強い
一番良いC/C++の勉強法はhogeホームページのコードをいっぱい読むこと
>>956 朝鮮語には馴染みない響きだ
そして次のfugaは素直に書けない
むしろドイツ語じゃね
>>959 韓国語だと、f はパ行の発音だから、ぷぎゃーっぽくなってしまう
チョンはトンスルでも飲んでろ
日本で仕事の出来る会社が目を向けるのはアジアだ
どこのアジアですか?東南アジアとかインドですよね? 特定アジアはもうオワコン
はいはい、皆さん。早く病棟に帰ってくださいね。勝手に抜け出してきたら、困りますよ。
祖国はいいぞ
>>952 出世なんかしてどうすんだ?
皆プログラミングが好きだからやってるんだろ?
君は仕事だけのためにプログラムやってんじゃないの?
プログラミングが好きだから底辺職業のドカタにもかかわらず就いている奴もいれば 仕方なく底辺職業についているのもいる。基地でもなれる職業だし
好きでやってる奴はそんなに底辺にはいないと思う
好きで底辺を選ぶ奴もいるんじゃない?
実は プログラミングが好きだからの奴:Hoge使い 仕方なく底辺職業の奴:狂Hogeアンチ(基地外でこれ位しかなれない) なんだよ。わかったか?
プログラミング好きは出世できないと相場が決まっている どんなに優秀なプログラマでも35歳までに死亡
出世ねぇ 気持ちは分かる でもプログラミングやIT関係での出世なんて、いい会社に転職するか、プロジェクトマネージャーになるとかくらいだから面白くはないだろ
面白いとか面白くないとかの次元ではない プログラマーは35歳までに死ぬ 未経験の異業種で人生をやり直すか自殺するかを選択しなければならなくなる
底辺にいないとプログラミングできないからね 仕方なく底辺職業に就いた基地のほうが出世するブラック業界
35までって.... 良く言われるけど俺はそうだとは思えないね 確かに心身ともに疲れるけど、しっかりした技術だろ? 異業種の方が逆に辛いよ 底辺底辺いうけど、給料どの位なの?
出来るんだけど、立場的にその仕事だけじゃ 浮いてまうわけです。
日本の環境は分かるけど、アメリカとかどうなんだろ? やっぱ同じなのかな?
>>979 アメリカはプログラマは技術者。修士、博士がごろごろ
専門教育受けた大卒が最低ラインの世界。だからITをリードする国になった
でも日本はドカタで、大卒は文学部でもいいし、高卒でも十分。
下請けの御用聞きばかりのヒッキー業界
また知らないのに適当なこと言ってるしw
何の生産性もなくて、ただ無駄に毎日過ごしている地方公務員とかより遥かにマシだろ
何の生産性も産まないようなプログラマは35で死ぬんだろう
>無駄に毎日過ごしている地方公務員 そんなんでも良い給料もらえるんだよな。良いな てか公務員試験があるんだぞ。難しすぎてドカタにしかなれない奴じゃ通らない
地面に穴を掘り、そのまま穴を埋める。どちらも必要な仕事 システムにバグを埋め込み、それを直す。どちらも必要な仕事
公園の花壇に水やりして退職金6000万円だからなー 公務員ってなんか世界が違うわ
そもそも水やりなんかやりたくねえわ そんな羨ましけりゃ転職しろ
あ
>>984 コネクションがあればヤマの入手は容易だそうですし、選考課程にも大きな影響があるようですよ
990 :
デフォルトの名無しさん :2013/09/21(土) 10:01:35.56
日本のIT業界に旋風を巻き起こせる奴はこのスレにいないのか?
常駐先企業の人件費抑制に利用されただけの人生だったな残念
mapのfindで直接stringの要素を指定できないのですがなぜでしょうか? map<char, int> m; string str = "abcdef"; m[str[0]] = 1; // できない //m.find(str[0]); // できる char c = str[0]; m.find(c);
>>993 すいません 実行したらできました.
eclipseだと,find, second, endlのところに赤線が引かれてしまっているので
実行できないと思ってました.
なんで赤線が引かれるかはわからないですが
>>994 eclipseがタコだったってだけの話。
マクロやテンプレート絡みだと分析も複雑になるし、IDE側の分析はコンパイラに比べ貧弱なことも多い。
>>991 派遣先に旋風を巻き起こせる奴ならいっぱいいそうだな
998 :
デフォルトの名無しさん :2013/09/21(土) 14:42:50.92
わざとバグ隠しておいて、連結テストのときに残業代稼ぐのはデフォルトですよね(´・ω・`)?
わかりにくいコーディングして他の人にはめんてできないようにするらしい
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。