トップページ⇒tech
231コメント64KB

気付けば「何だ」と思うよーなMiss[c/c++]

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
こんなのどうでしょう。

CString s1, s2;
s1 += "aho" + '\n';
s2 = s2 + "aho" + '\n';

s1が駄目。
018199NGNG
久しぶりに見てみたら、
俺の投稿が原因で、
なにやら大変な事になっていますね。

JavaとかからCに戻ると、101さんみたいな事態になりかねないですよね。
とか逝ってみたり。
0182デフォルトの名無しさんNGNG
オナニーしても精子が出ないので何でかと思ったら今日はもう8回抜いたんだった。
0183102NGNG
>>181
いえ、混乱を招いた一番の原因は、自分の投稿だとおもいます。こんなに
なるとは思ってもいなかった…
ということで(?)、反省も兼ねて、本来のスレ内容に関係のある本を紹介します。
CプログラミングFAQ
スティーブ・サミット著 北野欽一訳
トッパン(!)発行 ISBN 4-8101-8097-2

comp.lang.cに流れているFAQ(良くある質問とその答え)の日本語訳です。私は
K&RとUNIXとこれでCを勉強しました。この本が、c言語のいろいろと細かい部分について、
K&Rの舌足らず(寡黙?)なところを補ってくれました。初心者にとっても非常に良い本
だと思います。
タイトルに「なぜこのコードは〜しないのか」がつくもの←気づけば「何だ」と思うよーな
Miss[c]です。本文読まずにコードだけから誤りを見つけ出すのも、いとをかし。
0184(・∀・)イイ!NGNG
http://www.catnet.ne.jp/kouno/c_faq/c_faq.html
0185デフォルトの名無しさんNGNG
いやいや、102はいい仕事したと思うぞ。
0186デフォルトの名無しさんNGNG
vector<HOGE> v;
vector<HOGE>::iterator it;
・・・
it = find(・・・);
v.insert(it, ...);
v.insert(it, ...);
0187デフォルトの名無しさんNGNG
>>186
面倒だよねー
0188デフォルトの名無しさんNGNG
標準出力に書き出そうと思って、
fwrite(buf,sizeof(char),n,STDOUT);
コンパイル中にエラーが出たので、
fwriteでは、標準出力に書き出す事が出来ないと思った。
0189デフォルトの名無しさんNGNG
ふーん
0190デフォルトの名無しさんNGNG
>>188
よかったね
0191デフォルトの名無しさんNGNG
みんな冷たいなあぁ
0192  NGNG
既出かもしれないが...
引数に無理やりキャストしてクラスのポインタ渡していた。
どうして動かないのだろうと散々調べて、ふと気づく、
基本クラスが違うことを(ワ
0193デフォルトの名無しさんNGNG
>>192
C++のキャスト使うように習慣づけた方がいいかも。dynamic_cast<...>(...)
0194?NGNG
>>193
そういう使い方のダイナミックキャストってなんか危険そうだよ。
多重継承している拡張クラスがあればいいんだろうけど(ちがうか
0195デフォルトの名無しさんNGNG
>>193
というか、192氏の目的ならstatic_castを使うべきだろう。
基本クラスが違うポインタにキャストしようとするとコンパイルエラーするでしょ。
0196デフォルトの名無しさんNGNG
193>>195
const_castしか使ってないのがばれた(w
0197デフォルトの名無しさんNGNG
if (d != 0);
  ans = a / d;
0198デフォルトの名無しさんNGNG
>>197
鬼だね
0199minimaNGNG
>>94 さんのと同じミスなんスけど

int func( char c, size_t size ){
  ...(中略)...
  while( 0<=size )
    m_array[size] = c;
  ...(後略)...

もう,なんていうか,バカ(*´Д`)
0200minimaNGNG
間違えたっす。
    m_array[size--] = c;
です。
0201デフォルトの名無しさんNGNG
age
0202デフォルトの名無しさんNGNG
>>197
それ、たまにヤルっす。
for( i=0; i<m; i++ );
{
…
}
とか。
コンパイラはエラー吐かないし、後続のブロックは
1回は実行されるから、なかなか気がつかないっす。
0203発掘NGNG
age
0204デフォルトの名無しさんNGNG
for(i=0;i<m;++i){
}
って書けば間違えないYO!
0205デフォルトの名無しさんNGNG
for(i=0;i<m;++i);{
}
020678NGNG
そこまでいったら、
for(){
}
と取り敢えず打って、中身をあとで考えるしかないな。
0207魚チョコNGNG
フォントに手を加えて、セミコロンを大きくすれ。
文字幅データをいじっていっそ他の文字の2倍くらい幅にすれ。
うざったいから、乱れ打ち防止になるだろ(笑)
0208デフォルトの名無しさんNGNG
if(i<=0){}
else (i<16){}
正しくは、
if(i<=0){}
else if(i<16){}
0209sageNGNG
>>202
egrep "for.*;.*;.*;" *.c*
0210デフォルトの名無しさんNGNG
>>207
つーか、マジでプログラミング向けフォントが欲しい
80x25 の画面が懐かしい…
狭いけど
0211デフォルトの名無しさんNGNG
>>210
EPSONの98互換機の半角フォントって結構良かったよ。
吸い出してきてWindowsでもLinuxでもいまだに使ってる。
0212デフォルトの名無しさんNGNG
int main()
{
  return 0;
}
0213デフォルトの名無しさんNGNG
>>211 Windowsで使いたい。どうすればいいか教えてくれると幸せです。
0214デフォルトの名無しさんNGNG
>>211
ていうか、アップしてほしい
0215デフォルトの名無しさんNGNG
#define A_MAX (16)

char work[A_MAX];

#define B_MAX(32)

foo(int index, char n)
{
 assert(index < B_MAX);
 work[index] = n;
}
0216デフォルトの名無しさんNGNG
>>215
そもそもassertの使い方も怪しいな。

参考(?)スレ
http://piza.2ch.net/test/read.cgi?bbs=tech&key=989482113
0217216NGNG
ついでに俺も、ダメコードを。
ここは引数に文字列ポインタを用意させるべきだった・・・

char * condition(int ismain)
{
char *operator;
operator = (char*)malloc(30 * sizeof(char));
strcpy(operator, "tekitoudesu."); //tekitou data
free(operator); //dame
return(operator); //dame dame
}
0218デフォルトの名無しさんNGNG
生まれてきちゃった!
0219デフォルトの名無しさんNGNG
>>217
freeしなきゃOKじゃん。
0220デフォルトの名無しさんNGNG
疑問。なんでみんなstrdup使わないの?
0221デフォルトの名無しさんNGNG
1.いつもCStringとかstd::stringとかで返すから(C++)
2.返した先でfreeする、っていうのは嫌いだから。
4.独自メモリ管理ルーチン使ってるから。
3.Cの標準関数じゃないから。
0222デフォルトの名無しさんNGNG
>>221
激しく同意。
0223デフォルトの名無しさんNGNG
do{
//ループしね〜ぞ!?
・・・・;
・・・・;
}while(0);

・・・当たり前です。
30分悩んでしもた・・・・
鬱すぎ・・・・・
0224デフォルトの名無しさんNGNG
4バイトの型をもつaのビットを全部埋めようとして

a = 0xFFFF;

とやってしまう。
0225デフォルトの名無しさんNGNG
俺もむかし、>>224と同様に全ビット立てようとして、
memset(buffer, 1, sizeof(buffer));
とかやってたよ。
0226デフォルトの名無しさんNGNG
>>224
a = ~0;
としなさい。
なんてのは入門時に学ぶようなことなんだけど、
今時の粗製濫造入門書には書いてないかもなぁ。
0227デフォルトの名無しさんNGNG
>>226
a=-1;
ってやってた・・・・
0228デフォルトの名無しさんNGNG
>>227
aがunsignedだとちょっとやだよね
0229デフォルトの名無しさんNGNG
hoge.hで
-------------------
#ifndef hoge
#define hoge

class hoge {
private:
//何かの定義
public:
//いろいろ定義
};
#endif
------------------------

hoge.ccで
------------------------
int hoge::func(){
//いろいろ
return 1;
}

int hoge::fucn(){
//ほげ
return 0;
}
-------------------------

「::の前にパーサエラーがあります」に、一日悩みました。(藁)
横着しちゃいけないね。
0230229NGNG
やば。
#include"hoge.h"
忘れてた。
0231デフォルトの名無しさんNGNG
>>228
unsignedのときの振る舞いは規定されてるから問題ない。
むしろsignedだったときのほうが嫌だ。
■ このスレッドは過去ログ倉庫に格納されています