- 1 名前:デフォルトの名無しさん [2010/03/05(金) 16:51:13 ]
- エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。 ※sage禁止です(と代々スレに書いてありますが自己判断で)。 【前スレ】 【初心者歓迎】C/C++室 Ver.71【環境依存OK】 pc12.2ch.net/test/read.cgi/tech/1264774545/ 【アップローダー】(質問が長い時はココ使うと便利) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm codepad.org/ (コンパイルもできるし出力結果も得られるのでお勧め) ◆ソースのインデントについて 半角空白やTABでのインデントはスレに貼ると無くなります。 そのため、アップローダーに上げるのも手ですが直接貼る場合は、 全角空白か に置換すると見栄えだけはよくなります。
- 138 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 05:29:48 ]
- typedef struct tHOGE
{ int x ; TCHAR[256] str; }HOGE; std:vector<HOGE> vHoge ; 見たいな感じのものをstd:sortを使ってx又はstrで 並びかえる事は出来ますか?
- 139 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 05:34:13 ]
- >>138
すみません TCHAR str[256] ;です><
- 140 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 06:51:01 ]
- >>138
比較関数を自分で書けばソートできる
- 141 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 09:42:10 ]
- >>138
簡単 std::sortの第三引数に叙述関数の名前を書くか、関数オブジェクトの 名前を書いて、叙述関数または関数オブジェクトを書けばソート可能
- 142 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 10:01:12 ]
- >>138
ideone.com/q1vUcaVV こんな感じな
- 143 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 10:51:46 ]
- >>140-142
出来ましたありがとうございます ソースわかりやすかったです
- 144 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 10:58:23 ]
- deprecated conversion from string constant to ‘char*’
の意味をぐぐってみたが、C++0xで廃止予定との事なので 現行標準C++では関係ない
- 145 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 12:26:39 ]
- >>144
というか C++0xで廃止予定 だから deprecated conversion なんじゃねぇの?
- 146 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 12:28:17 ]
- (=゚ω゚)?
- 147 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 12:32:22 ]
- >>146
いやだから廃止予定だから deprecatedなんじゃね?と
- 148 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 12:46:23 ]
- C++0xで廃止されるかどうかは関係なく
現行のC++03でdeprecatedだから素直にconst付けろ
- 149 名前:デフォルトの名無しさん [2010/03/21(日) 13:59:07 ]
- C++でatollっぽいこと(文字列→long long int)がやりたいんだけどどうやればいいの?
- 150 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 14:00:55 ]
- lexical_castとかstringstreamとか
- 151 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 14:11:20 ]
- atoll使えばいいじゃん
- 152 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 14:28:31 ]
- class Hoge {...}; があるとして
Hoge hoge; を禁止して void func(Hoge hoge); func(Hoge(...)); を許可したい つまりテンポラリなオブジェクトとしてfuncの引数に渡す時のみ生成を許可したい こういうことは可能でしょうか?
- 153 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 14:31:02 ]
- >>152
Hoge のコンストラクタを private にして func を friend にして、 Hoge は func の中で生成する。
- 154 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 14:55:28 ]
- operator void*とoperator boolが同一の動作をするというのがよく判らない
これはどういうことでしょうか
- 155 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 15:00:34 ]
- >>154
if や条件演算子の条件式として使う分には同じ結果が得られる、ということ。 void* なら意図しない暗黙変換による間違いをいくらか防げる。しかし完全ではない。
- 156 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 15:06:07 ]
- レリーズwwwwwってかwwwうほっ
- 157 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 15:06:16 ]
- 誤爆
- 158 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 16:50:36 ]
- 簡単な二次元テーブルクラスを作ってみようと思ってやってみたんですが
width*heightの大きさの配列を一回で確保して、data[width*y+x]でアクセスというやり方が一般的で良いと聞いたんですが width*heightが大きくなるとメモリを確保出来なくなってしまいませんか? WORD最大*WORD最大ぐらいまでしか確保してくれません こんな中途半端なやり方がほんとに一般的に見て良いものなんでしょうか?
- 159 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 16:53:58 ]
- >>158
無茶な釣りは結構です。
- 160 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 17:05:49 ]
- >>158
メモリが何メガバイト必要か計算してみよう。
- 161 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 00:34:26 ]
- codepad.org/yZs7gMD8
こういうのってありですか? つうかもっと簡単にクライアントに引数の並べ替えを提供するテクってありますか?
- 162 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 02:15:39 ]
- >>158
> width*heightが大きくなるとメモリを確保出来なくなってしまいませんか? 当然なるでしょう data[width*y+x] の結果に法則性は無いのか、全くのバラバラならば仕方ないけど、 たとえば、100,500 の結果から 500,100 の結果は通常計算より簡単に導き出せないか。 または、ある要素番号の結果の符号を反転すれば他の要素の結果にならないか。 そんなふうにして配列数は半分に減らせないか色々考える。 多少妥協してテーブルを正規化していくしかない。
- 163 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 08:38:33 ]
- >>161
Boost Parameter
- 164 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 12:33:53 ]
- マクロは使いたくないです
- 165 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 14:13:37 ]
- マクロ使いたくない?ならC使うな
- 166 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 14:29:24 ]
- こんなんどうよ
template <typename LHS,typename RHS,typename RET> RET argswap2(RET (*p)(LHS,RHS),LHS a,RHS b){return p(b,a);} int sub(int a,int b){return a-b;} cout << sub(10,2) << endl; cout << argswap2(sub,10,2) << endl;
- 167 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 22:52:07 ]
- >>161
並べ替えを許可する引数の型が全部違えばできないこともない codepad.org/kJHyMc72 引数が多いときは大変だがTypeList使うかenable_ifを駆使すればどうにかなる。
- 168 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 23:24:45 ]
- その引数の並べ替えって意味あるの?
- 169 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 23:16:15 ]
- 組み込み型のデストラクタを明示的に呼び出すことになっても問題ないのでしょうか?
- 170 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 23:30:51 ]
- 問題無いはず。
STLのコンテナの内部で普通に行われてる。
- 171 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 23:31:14 ]
- >>169
どういうソースコードを組めばそうなるってこと?
- 172 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 23:32:57 ]
- >>169
placement newに対応するデストラクタ呼び出しなら必要だけど? それ以外?
- 173 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 23:44:31 ]
- >>167
どうもです 面白いですね templateだけで汎用化できるならそれに越したことはないんですが完全には難しいですね >>168 fromとtoどっちが先だっけ・・・というときに明示できると助かったり(この例だけだと微妙だけど数が増えると結構便利) あとは複数個デフォルト引数の指定があるけどひとつだけ自分で決めたいといったときに使えるかな、と void func(A a1 = A(1), A a2 = A(2)); // a2だけ指定したいけど出来ない void func(A1Is a1, A a2 = A(2)) { func(a1.value, a2); } void func(A2Is a2, A a1 = A(1)) { func(a1, a2.value); } func(A2Is(a)); // a2だけ指定できる といった感じで組み合わせを全部スクリプトに吐かせて使う感じ 例えばWindowを生成する関数でcreate_window(TitleIs("test"), WidthIs(w), HeightIs(h));と言った感じで一部だけ決めて残りはデフォルトを使うとか考えられる
- 174 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 00:21:25 ]
- >>173
こんなのとか codepad.org/Mn585Q6T
- 175 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 12:41:28 ]
- とあるクラスの操作で
以下のように T* hoge = new T; hoge->~T; *hoge = new(hoge) T; hoge->~T; delete hoge; 初回のみnewで確保してその後はplacement newを利用して初回確保した領域にオブジェクトを生成し 最終的にデストラクタで領域を開放する、と言う操作を行って大丈夫なのでしょうか?
- 176 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 12:54:20 ]
- >>175
大丈夫かもしれないし、大丈夫じゃないかもしれない。 本当にそんなことをする必要があるのかよく確認して、その必要性を示す コメントが添えられていれば、やってもいいかもしれない。
- 177 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 12:57:28 ]
- >>175
デストラクタを2回連続で呼んでる
- 178 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 13:10:15 ]
- クラスAを生成するファクトリがあって、
A *FactoryA::create(ArgX, ArgY, ArgZ, ...) { new A(ArgX, ArgY, ArgZ, ...); } このような形で引数をそのままnewにデリゲートしています Aが固定ならコンストラクタの数だけオーバーロードを力任せに追加すればいいのですが、 Factory<A>のようにテンプレート引数の場合になると力任せではできません この手の問題を回避する方法はありますか?
- 179 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 13:17:03 ]
- >>177
deleteのときにhogeにオブジェクトが存在するときのみデストラクタが呼ばれるよう工夫することは出来ないでしょうか やはり素直に1回の処理ごとにnewとdeleteを繰り返した方が良さそうですね、ありがとう御座いました
- 180 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 13:34:25 ]
- void *v = ::operator new (sizeof(Hoge));
T *p = new (v) T; p->~T(); operator delete (p, v); p = new (p) T; p->~T(); operator delete (p, v); ::operator delete (v); それにしてもなんで delete (v) p; って書けないんだろうな placement new/delete関係は仕様がなんか気持ち悪い
- 181 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 13:36:02 ]
- >>179
君が欲しいのは boost::optional かもしれない。
- 182 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 17:57:19 ]
- >>175
newはそんなに遅くない。 vectorがそれやってるから。 vector<T> hoge(1);//placement newされる。 hoge.resize(0); //デストラクタが呼ばれる。 hoge.resize(1);//placement newされる。 //スコープから出れば勝手にデストラクタが呼ばれる。
- 183 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 18:15:41 ]
- 非POD型に
T *p = new (v) T; って不味いんじゃなかった?配置構文なんてあまり使わんから勘違いだったらすまん
- 184 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 18:25:03 ]
- PODじゃなくても問題ないよ
- 185 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 18:27:38 ]
- 実際placement newと普通のnewってどのくらい速度ちがうん?
誰か理論値知らない?
- 186 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 18:44:42 ]
- 単純に考えて(placement new/deleteの回数*生メモリ確保/開放にかかる時間)の分だけ速くなる
生成破棄しまくる場合はスゲー速くなるけど、そうでない場合はほぼ無意味
- 187 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 18:49:22 ]
- 逆に言えば生成破棄しまくるなら早くなるんだよね?
うし、ちょっと実測してくる。ありがとう。
- 188 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 18:49:40 ]
- >>184
あれ、どういうとき不味いんだっけ・・・
- 189 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 19:15:46 ]
- >>188
アライメントの問題ぐらいじゃね?
- 190 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 20:10:02 ]
- もしまずい点があるとしたら
配列をoperator new()と配置newを使って確保したものに対して delete[]を使えない、とかそういう点。
- 191 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 20:13:46 ]
- >>190
それはnewの時も事情は同じだよね
- 192 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 20:28:29 ]
- C++0xのunionで非POD形が使えるようになるのはplacement newを使うためなのかな?
今まではboost::variantのようなことをするには配列で領域取ってたけどunionでアライメントの問題も無く簡単に使える様になるのか?
- 193 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 20:37:45 ]
- D&E第三版がC++0xが出た後で出版されるよな
- 194 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 20:50:24 ]
- >>191
「new演算子」は、operator new()で領域を確保し コンストラクタを呼び出して初期化することが決まってるんじゃなかったかな。 規格読んでないから知らんけど。 もしそうなら、その方法で確保したオブジェクトをdeleteで解放することも許されそうだが。 規格読んでないから知らんけど。 また、少なくとも p = new T(); p->~T(); new (p) T(); したものに対しては delete p; は大丈夫なんじゃなかったかな。 規格(ry
- 195 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 20:54:41 ]
- >>194
いや俺が言ってるのは「配列new」も存在しないね、という事
- 196 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 20:55:40 ]
- 言い方がまずいな
new A[]; とかは出来るけど、呼び出せるのはデフォルトコンストラクタのみ 引数付きコンストラクタは呼び出せない
- 197 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 22:00:43 ]
- operator new/deleteのオーバーロードとかplacement new/deleteはたまに使うけどそれの配列版は一度も使った事ない俺ザンギュラ
というかコンパイラで挙動が違うし、ググッても仕様が良く解らんしで諦めた
- 198 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 22:54:00 ]
- アロケータの自作は理解が深くないと大変なことになるから怖いよね
- 199 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 22:56:32 ]
- VCだと要素数を格納する分だけ余分に確保して、
その次のアドレスを返すんだっけ
- 200 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 22:57:02 ]
- アロケータの自作なんて本当に必要かどうか
さんざん吟味して原則的に及び腰になるべし。
- 201 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 23:07:45 ]
- Scoped Allocatorなら組み込みでも使えそうな予感
- 202 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 02:28:15 ]
- >>199
gccもそんなだったはず あとPODのときは要素数領域を確保しないとかあった気がする
- 203 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 06:41:37 ]
- PODじゃないけどデストラクタがない場合ってどうなんだろ?
確かめた事無いや
- 204 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 06:51:18 ]
- placement newのデストラクタがない場合?クラスが動的に領域を確保する
物じゃなければデストラクタを意図的に呼び出さなくても実害はなかったと思う 推奨されないけど
- 205 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 06:55:36 ]
- こんな感じか
class A { int i; }; class B { int* p; public: B() : p(new int[100]) {} ~B() { delete[] p; } }; int main() { char c[1000]; A* ap = new (c) A; // ap->~A(); // 無くても実害はない B* bp = new (c) B; bp->~B(); // ないとメモリリークする }
- 206 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 07:29:32 ]
- いや、そういう話じゃなくて、
配列newで要素数を格納するのはデストラクタ呼ぶループのためだから (new側は要素数が分かるので特に必要はないはず) デストラクタがなければPODじゃなくても配列newで要素数分確保する必然性はないよね、と まあ確保しても実害は無いから自分で配列newを実装する場合は無条件で確保すればいいんだけど デフォルトではどうなってんのかな、と
- 207 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 08:25:35 ]
- >>206
じゃあこういう事か ちなみにCodeGuard掛けてみたが何のエラーも出なかったので恐らく 問題ないと思われる class A { int i; }; int main() { char c[1000]; A* ap = new (c) A[100]; // ap->~A(); // なくても実害はない }
- 208 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 14:09:46 ]
- いや、どう見ても>>203が言いたいのは
struct NonPod { int x; NonPod(): x(rand()) {} virtual int f() { return x; } }; みたいなものを new NonPod[n]; した時に、要素数を記録する領域を確保するのかどうか、だろ。
- 209 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 14:11:50 ]
- >>208
要素数は記録しない placement newの配列版で確保した領域を delete[] で解放しようとすると 鼻から悪魔
- 210 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 14:14:01 ]
- だから、>>203の意図に placement new は関係ないっての
- 211 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 14:16:24 ]
- >>199,>>202-203の流れだからな
- 212 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 14:17:48 ]
- もうひとつ。
どの処理系かも明記せずに「記録しない」なんて言い切るな。 思いっきり処理系依存だってことは皆わかってるんだから。
- 213 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 14:19:30 ]
- >>212
鼻から悪魔って規格票に書いてあるじゃん という事は要素数は記録しない
- 214 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 14:33:33 ]
- は?
- 215 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 14:35:28 ]
- >>214
>>209 お前さんも頭悪いな
- 216 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 14:36:15 ]
- つまり、華から悪魔と規格票に書いてない場合は
「要素数を必ず記録する」と書いてあるってーのか。 そもそも俺は「未定義」と書いてあるものは見た覚えがあるが 「華から悪魔」なんて書いてある規格は見たこと無いけどな。
- 217 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 14:38:35 ]
- >>216
だから「未定義の振る舞い」undefined behaviorだっつーの
- 218 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 14:38:59 ]
- >>213 どういう理屈だよw
- 219 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 14:39:27 ]
- つまり
int * p = new int[n]; だと、要素数がどこにも記録されない、と規格のどこかに書いてあるのか? だから delete p[] ではなく delete p をしても見て意義動作ではないと。 ふーん。
- 220 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 14:40:22 ]
- >>219
馬鹿発見 placement newの配列版だと言ってるだろーが アホか
- 221 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 14:42:14 ]
- >>213>>216
未定義の振る舞いである == 要素数を記録しない ってか? お花畑に住んでいるって幸せ?
- 222 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 14:44:24 ]
- 要素数を記録したら未定義の振る舞いにならないだろうが
- 223 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 14:45:14 ]
- だいたいplacement newはヒープ領域とは何の関係もないだろ
- 224 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 14:48:42 ]
- >>222-223
>>210-211を10回読み直してみたらどう?
- 225 名前:デフォルトの名無しさん [2010/03/27(土) 14:49:53 ]
- >>222
勝手に決め付けるなよ
- 226 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 14:54:43 ]
- 知るかい
俺はあくまでもplacement newの配列版について話をしてるんだ
- 227 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 15:15:00 ]
- だから、てめーは「最初っからずーーっと」ズレたことしか言ってねーんだよ。
てめー「だけ」がズレてんだよ。 何が「俺はあくまでも」だ。 >>199及び>>202-203において、 「operator new[]()がPOD時は要素数の領域を確保しないが非POD時は確保する」話が出てる で>>203が「じゃあデストラクタの無い非PODなら(operator new[]の動作は)どうなっているのか」 という疑問を出している。 なのに>>204-205だの>>207だの、完璧に論点がわかってない書き込みをしている。 >>206で「そうじゃなくて」と指摘されているにもかかわらず、ズレまくり。 (言っとくが、>>197-206の流れの中には俺の書き込みは一つも無い) しかも、「未定義動作である」とは「要素数を記録しないことである」という 他人には理解不能な理屈まで持ち出して。 >>203はおそらく「(規格では何も決められていないだろうが) 個々の処理系ではどうなんだろう?」という疑問を出しただけなのに 勝手に「要素数を記録することが規格で決められている」ということにして。
- 228 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 15:17:21 ]
- あ、↑の「operator new[]()の動作」というのは違うか。
new[]演算子が「要素数分の領域を多めにoperator new()に要求する」が正しいかな。
- 229 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 15:19:50 ]
- >>226
今読み返してみたが、>>206が「そうじゃなくて」と言っている内容の 「配列new」を勝手に「配置new」と読み替えてないか?
- 230 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 17:01:50 ]
- デフォルトではどうなってんだろ、ってんだから
明らかにplacement newではないだろ
- 231 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 20:53:10 ]
- 説明能力の無い人間がついうっかり自己評価高かったりすると、
そこら中の人間を馬鹿馬鹿言って暮らさなきゃいけないからたいへんだ。
- 232 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 22:35:11 ]
- 理解能力が足りない奴の方が始末に負えないけど
- 233 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 22:38:41 ]
- どっちもどっちだ
- 234 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 22:48:53 ]
- 無駄にプライドだけ高いから本当に邪魔
- 235 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 22:57:20 ]
- 人を変えようと思ったらまず自分が変わらにゃならんよ
自分が変わらずに他人を変えようと思っても、百万年掛けても1ミリも変わらないと思え
- 236 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 23:33:49 ]
- なんかすげー必死に張り付いてる奴が居るね。
- 237 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 23:48:13 ]
- というか分かってない奴1人だけだろ
人のせいにする前に周りをよく見ろと
- 238 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 23:52:39 ]
- >>229がズバリ核心を突いてるな
|

|