■過去ログ置き場に戻る■
1-
前250
次250
最新50
[memo]
"9999999999_00.html#R20"
という感じで、URLの最後に "#R
レスNo
" を追加すると幸せになれます。
C++相談室 part31
751
名前:
デフォルトの名無しさん
:04/06/21 23:12
あえて思い切って、高度で煩雑な規格の使用を制限して、
HSPを使用し、多数派PGの理解レベルを優先したとしても、
決して資源の無駄にはならないだろう。
752
名前:
デフォルトの名無しさん
:04/06/21 23:15
>>751
規格票が理解できねって? ああ、そりゃお気の毒に・・・
753
名前:
デフォルトの名無しさん
:04/06/21 23:19
だったらわざわざここに来る必要は無い。
のぞいて荒らしてることろを見ると、少しはやってみたいんだろ。
だったら大人しく教えて下さいといいなさい。
754
名前:
デフォルトの名無しさん
:04/06/21 23:19
>>752
ネタにマジ煽りされても困るなぁ。
なんつーかさぁ、もうちょっと心に余裕持てよ。
755
名前:
デフォルトの名無しさん
:04/06/21 23:22
でもさ、いまどき C++ で能無しがこなせる業務あるかな。
ドライバ書きとかゲーム書きとか、あんまヘボだと言語がどうとかいう以前に業務が難しい領域が多くない?
・・・・とオモタけど携帯のソフトがあったか・・・
756
名前:
デフォルトの名無しさん
:04/06/21 23:23
3日前からずっとやってない?
757
名前:
デフォルトの名無しさん
:04/06/21 23:27
>>753
大人しく教えて下さい
で、何を教えてくれるの?そもそもお前はどのレスに言ってるの?
758
名前:
デフォルトの名無しさん
:04/06/21 23:30
>>757
なにが教えて欲しいの?
759
名前:
デフォルトの名無しさん
:04/06/21 23:31
C++やると性格が歪むって本当らしいですね?
760
名前:
デフォルトの名無しさん
:04/06/21 23:35
>>759
あるひとつの問題に対してアプローチがいくつもあり、
それらひとつひとつが曲者だからね。
追いかけるのに疲れ果てて性格が歪むのも無理はない。
これは、C/C++をマスターしていると思っている人間ほど顕著である。
いちいち他人のコードを自分流に修正せずには
いられない脅迫観念にとりつかれているからだ。合掌。
761
名前:
デフォルトの名無しさん
:04/06/21 23:36
>>759
規格票が理解できねって? ああ、そりゃお気の毒に・・・
762
名前:
デフォルトの名無しさん
:04/06/21 23:40
>>760
ひとつしかない方が異常だとおもうけど。
763
名前:
デフォルトの名無しさん
:04/06/21 23:42
よっぽど悔しかったらしいなw
764
名前:
デフォルトの名無しさん
:04/06/21 23:48
>>758
何が教えられるの?
765
名前:
デフォルトの名無しさん
:04/06/21 23:50
>>742
は、問題が起きたら俺が泥をかぶればいいという気質の人間だろう。
さもなくば、事情を知らない煽りか?
前者であれば、口は悪いが心の熱い人間であるといえよう。
実際問題、無能PGが配置されてしまったとして、
そのフォローに奔走するのは結局
>>742
自身だからである。
>>740
は、意外と冷酷な人間だろう。
途上国の安価PGに下請け発注することを専らとしているに違いない。
766
名前:
デフォルトの名無しさん
:04/06/21 23:53
742も740も俺の自演ですが何か?
767
名前:
デフォルトの名無しさん
:04/06/22 01:19
>>725
私は直前のIPを保持して同値ならカウントアップしないようにしています。
クッキーは好きじゃない。
自分自身が参照したときもカウントアップしないようにするといいかも。
こっちは自分なのでクッキーでもいいかな。
それよりもC++でCGI作らせてくれることがうらまやしい。
SAKURAはC止まりなので。
768
名前:
デフォルトの名無しさん
:04/06/22 19:38
delete [] a, b;
とした場合ってaもbも配列扱いのdeleteになるのでしょうか?
769
名前:
デフォルトの名無しさん
:04/06/22 19:49
>>768
>>733
delete a,b; とし、a,bをクラスにして、
bのデストラクタが呼ばれない事を確認してみろ。
770
名前:
デフォルトの名無しさん
:04/06/22 20:03
>>768
演算子の結合規則くらい調べて来い
771
名前:
デフォルトの名無しさん
:04/06/22 20:12
delete [] (a,b)としたところで何の問題の解決にもならん気がするが。
772
名前:
デフォルトの名無しさん
:04/06/22 20:24
>>771
768は何かの「解決」を求めているか?
773
名前:
デフォルトの名無しさん
:04/06/22 21:40
deleteといえば、プログラムが終了になるときは、
特にdeleteで解放しなかった領域も解放されるんですよね?
プログラムが終わった後まで影響しないですよね?
774
名前:
デフォルトの名無しさん
:04/06/22 21:47
>>773
デストラクタはどうしましょ?
775
名前:
デフォルトの名無しさん
:04/06/22 21:52
>>773
絶対されるとも言えないし、絶対されないとも言えない
776
名前:
デフォルトの名無しさん
:04/06/22 22:00
処理系によってはやばいってことですか?
プログラムの終わらせ方としては
普通にmainのreturnで終わる場合やexit()やabort()。
main終わるときにローカルオブジェクトはデストラクタ
呼ばれるんですよねぇ。
exit()を呼ぶと、後処理やってくれるようですが
スタックの巻き戻ししないんで、ローカルオブジェクト
はもれるって話みたいで、例外使うなりしてちゃんと
deleteしたほうがいいんですかね、というかみなさんは
そうしますか?
777
名前:
デフォルトの名無しさん
:04/06/22 22:01
>>776
>後処理やってくれるようですが
このへん全然ダメ
ちゃんと調べろ
778
名前:
デフォルトの名無しさん
:04/06/22 22:01
>>773
OS依存。まぁ、普通はプログラム終了時に
リソースは全て回収される罠。
779
名前:
デフォルトの名無しさん
:04/06/22 22:01
>>773
メモリに関して言えば、多くのOSや環境でその通り。
デストラクタは走らないので、例えばテンポラリファイルを作るクラスなど開放時に
処理が必要なオブジェクトはちゃんと delete する必要がある。
780
名前:
デフォルトの名無しさん
:04/06/22 22:03
>>778
>OS依存。まぁ、普通はプログラム終了時に
このへん全然ダメ
ちゃんと調べろ
781
名前:
デフォルトの名無しさん
:04/06/22 22:04
>>776
デストラクタを動作させる必要があるなら、ちゃんと delete する。
「〜ほうがいい」とか言うより、仕様や期待する動作の通りに動くように
プログラムを書けばいいだけだと思うけど。
782
名前:
デフォルトの名無しさん
:04/06/22 22:11
exitは単に静的オブジェの破棄、バッファフラッシュ、クローズ処理を
行う。atexitで登録した関数も呼ぶ。
783
名前:
デフォルトの名無しさん
:04/06/23 00:35
どなたか CINT
ttp://root.cern.ch/root/Cint.html
の日本語でのマトモな解説サイトとか御存知だったら教えて下さい。
google先生にお伺いしても大したサイトは引っかからないし、
本は絶版になっちゃってるみたいだし。
このソフトすごいと思うんですけど、マイナーなんですかね。
C++インタープリターってここにいる人達なんかにとってはちょっとしたスク
リプト感覚でC++が使えて非常に便利だと思うのですが。
784
名前:
デフォルトの名無しさん
:04/06/23 00:58
ttp://www.itworld.com/AppDev/710/swol-0818-regex/
C/C++系のインタプリンタって結構あるんだけどな。
785
名前:
デフォルトの名無しさん
:04/06/23 01:01
日本人の作者がいるからメールしてみたら?
どこかで聞いたことがある名前だったと思う。
786
名前:
デフォルトの名無しさん
:04/06/23 09:50
>>784
そこ行ったらspybotが喚き出した。
787
名前:
デフォルトの名無しさん
:04/06/23 11:09
ご教授お願いします。
VC++6でUnicodeです。
LPTSTR szHoge = new TCHAR(MAX_PATH);
ZeroMemory( szHoge, MAX_PATH * sizeof(TCHAR) );
int nRtn = (GetDlgItem( IDC_EDIT_HOGE ))->GetWindowText( szHoge, MAX_PATH * sizeof(TCHAR) );
LPTSTR lpTgzPath = new TCHAR( nRtn + 1 );
ZeroMemory(lpTgzPath, (nRtn + 1)* sizeof(TCHAR) );
CopyMemory( lpTgzPath, szHoge, nRtn * sizeof(TCHAR) );
delete szHoge;
IDC_EDIT_HOGEのコントロールから取得した文字列をlpTgzPathにコピーするんですが、
delete szHoge; にて例外が発生します。
何がいけないんでしょう・・・?
宜しくお願いいたします。
788
名前:
デフォルトの名無しさん
:04/06/23 11:15
LPTSTR szHoge = new TCHAR(MAX_PATH);
delete szHoge;
↓
LPTSTR szHoge = new TCHAR[MAX_PATH];
delete [] szHoge;
789
名前:
725
:04/06/23 11:47
>>767
サンクスです。
その方法でやってみます。
790
名前:
デフォルトの名無しさん
:04/06/23 11:53
>>788
グハ orz
サンクス。もう仕事辞めます。
791
名前:
デフォルトの名無しさん
:04/06/23 12:18
>>790
昼飯くったらまた頑張れ
792
名前:
デフォルトの名無しさん
:04/06/23 12:22
>>787
誤:LPTSTR szHoge = new TCHAR(MAX_PATH); // 値MAX_PATHで初期化された 1 つの TCHAR を newする
誤:LPTSTR lpTgzPath = new TCHAR( nRtn + 1 ); // 値nRtn+1で初期化された 1 つの TCHAR を newする
正:LPTSTR szHoge = new TCHAR[MAX_PATH]; // MAX_PATH個のTCHARの配列をnewする
正:LPTSTR lpTgzPath = new TCHAR[ nRtn + 1]; // nRtn+1個のTCHARの配列をnewする
だら〜っとで良いので、もういっぺん C++ の本とか読み直しておいた方が余計な苦労せずに済むかも。
あと、szHoge みたいなのはいちいち new しないで、ローカル変数の方が良いと思う。
793
名前:
デフォルトの名無しさん
:04/06/23 12:41
っていうか、スマートポインタ使えよ
794
名前:
デフォルトの名無しさん
:04/06/23 13:14
なんでもスマートポインタを使えばいいわけじゃないし、この処理では明らかに不要だろ。
795
名前:
デフォルトの名無しさん
:04/06/23 13:41
この処理とやらの外側でWin32構造化例外を拾っている可能性はあるからスマートポインタが不要とはいえんな。
796
名前:
デフォルトの名無しさん
:04/06/23 14:01
>>787
GetWindowTextやCopyMemoryで中身は上書きされるんだからZeroMemoryはいらない
テキストの長さだったらGetWindowTextLengthでわかる
int nSize = (GetDlgItem( IDC_EDIT_HOGE ))->GetWindowTextLength();
LPTSTR szHoge = new TCHAR(nSize);
(GetDlgItem( IDC_EDIT_HOGE ))->GetWindowText(szHoge, nSize);
797
名前:
デフォルトの名無しさん
:04/06/23 14:04
>>794
deleteミスるぐらいならスマートポインタ使えってことだよ。
っていうか今どきnewとかつかわんよ
798
名前:
デフォルトの名無しさん
:04/06/23 14:14
スマートポインタ使えとだけ言っても何の疑問も解決しねえだろカス
799
名前:
デフォルトの名無しさん
:04/06/23 14:17
>>797
>っていうか今どきnewとかつかわんよ
はいはい、脳内「今どき」はあんたの頭の中だけにしときな( ´,_ゝ`)プッ
800
名前:
デフォルトの名無しさん
:04/06/23 14:22
素で質問です。
new以外に何使えばいいんでしょうか?
801
名前:
デフォルトの名無しさん
:04/06/23 14:23
>>800
そんな餌で俺様がくまー
802
名前:
デフォルトの名無しさん
:04/06/23 14:24
前もって全部staticで宣言しておけばいい。
リソースの量を把握できなくていったい何の為のC++プログラマか。
803
名前:
デフォルトの名無しさん
:04/06/23 14:27
動的に増やさなくちゃいけないから new があるんじゃ
804
名前:
デフォルトの名無しさん
:04/06/23 14:28
またC厨が暴れているのか。
805
名前:
デフォルトの名無しさん
:04/06/23 15:06
mallocで十分
806
名前:
デフォルトの名無しさん
:04/06/23 15:43
>>805
Cスレに(・∀・)カエレ!!
807
名前:
デフォルトの名無しさん
:04/06/23 16:24
ただ騒ぎたい奴が8割
808
名前:
デフォルトの名無しさん
:04/06/23 17:18
ポインタの参照 *& ってどんな意味があるのでしょうか?
例えば、void func( char **& ) に参照つけるのはどうしてですか?
809
名前:
デフォルトの名無しさん
:04/06/23 17:25
>>808
void func( char **&p)
だとしたら、funcでpをいじるんじゃないですか?
*pではなく、**pでもなく。
810
名前:
デフォルトの名無しさん
:04/06/23 17:25
>>808
普通の参照と同じだが?
void func(char *&rp)
{
static char c = 'd';
rp = &c;
}
char *p;
func(p);
811
名前:
デフォルトの名無しさん
:04/06/23 17:44
ダイアログ上のフォーカスをTABで移動していって、ボタンにフォーカスが来ると
点線と黒い影が出ると思うんですけど、
そこからSetFocusでフォーカスを別のとこに移動させると
点線だけ移動して、黒い影がボタンに残ったままになってしまいます。
この黒い影を強制的に消すにはどうしたらいいでしょう?
812
名前:
デフォルトの名無しさん
:04/06/23 17:46
>>811
キミはそれをC++の話題だと思うのか?
813
名前:
デフォルトの名無しさん
:04/06/23 17:51
>>812
VC++やらMFCの話をここでしてはいけないのですか?
814
名前:
デフォルトの名無しさん
:04/06/23 17:52
・::std::vector< TCHAR > を使う。
・ATL ないし、MFC を使っているならば、CStringT< TCHAR > を使って、
あらかじめサイズをしてした後で、GetBuffer()
・_bstr_t を使って、SysAllocStringByteLen を使い、領域確保してから、
GetBSTR() でバッファ取得。だが、この方法はオススメしない。
815
名前:
デフォルトの名無しさん
:04/06/23 17:52
あ、VCのスレがあるんですね。失礼しました。
816
名前:
814
:04/06/23 17:53
>>787
へのレスね。
817
名前:
デフォルトの名無しさん
:04/06/23 17:55
>>813
だめ。氏ね。
818
名前:
デフォルトの名無しさん
:04/06/23 17:55
ポインタと参照ってほとんど同じものだと思ってました…orz
819
名前:
デフォルトの名無しさん
:04/06/23 17:56
>>811
Microsoft の Windows の話だと仮定して返事してみる。
黒い影は「デフォルトボタン」の印で、フォーカスとは必ずしも関係ない。
あとはWin32 API スレで続けた方がいいよ。C++ と関係ないし。
>>813
811 はおそらく Windows の UI の仕様に関する質問で、別に MFC も VC++ も関係ないみたいだけど・・・
820
名前:
デフォルトの名無しさん
:04/06/23 18:36
ん〜、以下のrfuncとpfuncの違いは何なのでしょうか?
それと、rfunc( aaa ) と記述できない事と何か関係ありますか?
#include <iostream>
void rfunc( char *& rp ) {
rp[0] = 'a';
}
void pfunc( char * pp ) {
pp[0] = 'b';
}
int
main( int argc, char **argv ) {
char aaa[100];
char *bbb;
bbb = aaa;
rfunc( bbb );
std::cout << aaa[0] << std::endl;
pfunc( bbb );
std::cout << aaa[0] << std::endl;
return 0;
}
821
名前:
デフォルトの名無しさん
:04/06/23 18:49
>>820
リファレンスを取る時は実体が必要。aaaは単なるポインタに変換され、それは
実体がない(変数に入っていない)のでリファレンスを取ることはできない。
無理に取ろうとすると一時変数が作られる。
822
名前:
デフォルトの名無しさん
:04/06/23 18:49
>>820
rfuncもpfuncも引数(この例ではそれぞれrpとpp)に対して操作を行っていないので、
違いが大きく現れない。
rfuncでは、例えばrp = 0;とすると、これがmainのbbbに反映される。
pfuncではこれは起こらない。
このあたりはポインタとの絡みは関係なく参照という物の性質なので、
参照渡しについて復習してみる事をお勧めする。
rfunc(aaa)と書けないのは、aaaがポインタ変数でないから。(ポインタに変換可能であるに過ぎない)
823
名前:
デフォルトの名無しさん
:04/06/23 18:54
ポインタのリファレンスはむしろこっちの使い方の方が多いな。&pとして呼び出す
手間を省く。
#include <iostream>
void rfunc(char*& rp)
{
rp[0] = 'a';
}
void pfunc(char** pp)
{
(*pp)[0] = 'b';
}
int main()
{
char a[] = "abc";
char* p = a;
pfunc(&p);
std::cout << *p << std::endl;
rfunc(p);
std::cout << *p << std::endl;
}
824
名前:
デフォルトの名無しさん
:04/06/23 18:58
関数の中で引数に対してnewとかしちゃうと、
pfuncの引数のとり方では悲惨なことになりますね。
(まぁそういうことはあまりやらないけど)
825
名前:
824
:04/06/23 18:59
あ、もちろん
>>820
宛です。
826
名前:
デフォルトの名無しさん
:04/06/23 19:02
ていうかね
void func(T&) と void func(T) の違いなんよ。ポインタとか関係ないんよ。
827
名前:
デフォルトの名無しさん
:04/06/23 19:11
>>826
わかってるけどその説明じゃ分からない香具師がいるんだよ。頭の固い香具師が。
828
名前:
デフォルトの名無しさん
:04/06/23 20:53
>>827
>頭の固い香具師が。
下らん質問にしか回答できない半端もんのくせに、
初心者に対してはびっくりするほど態度でかいな。お前。
829
名前:
デフォルトの名無しさん
:04/06/23 21:01
>>828
>下らん質問にしか回答できない半端もんのくせに、
どうやって俺が下らん質問にしか回答してないとわかるんだ?エスパーか?
830
名前:
デフォルトの名無しさん
:04/06/23 21:35
s/しか/も/
831
名前:
デフォルトの名無しさん
:04/06/23 21:41
C++(プログラム)が早く身に付く方法はないですか?
832
名前:
デフォルトの名無しさん
:04/06/23 21:41
検索エンジンとかで出てくる%83%82%83E%83_%83%81%83%7Cとかいったコードを
デコードする良いアルゴリズムって無いですかね?
自分で作った奴じゃ遅くって。
833
名前:
デフォルトの名無しさん
:04/06/23 21:42
>>829
恐らくエスパーではなく「こわがり」なのでしょう ;-)
834
名前:
デフォルトの名無しさん
:04/06/23 21:55
>>831
プリンタで大きく「C++」と印刷した紙を糊で体に貼り付けろ。
835
名前:
デフォルトの名無しさん
:04/06/23 22:05
>>834
つまんね
836
名前:
デフォルトの名無しさん
:04/06/23 22:11
>>831
パイロットに早くなれる方法はないかというのと同じくらい果てしない質問だ
837
名前:
デフォルトの名無しさん
:04/06/23 22:11
給料はパイロットの5分の1くらいしか貰えんが
838
名前:
デフォルトの名無しさん
:04/06/23 22:17
パイロットって月給手取り300万近いのか?
839
名前:
デフォルトの名無しさん
:04/06/23 22:24
もらう奴はそれ以上。
840
名前:
デフォルトの名無しさん
:04/06/23 22:32
Cからのステップアップに最も適した本は何ですか?
841
名前:
デフォルトの名無しさん
:04/06/23 22:33
>>840
プログラミング言語Ruby
842
名前:
デフォルトの名無しさん
:04/06/23 22:40
>>840
マジレス
これ!
http://www.research.att.com/~bs/3rd.html
推奨の理由は、自分がこれで憶えたから。
ただし、これは第3版。俺が使ったのは第1版だった。
邦訳はこれ
http://www.longtail.co.jp/errata/
843
名前:
820
:04/06/23 23:00
char *pp で ppは、*bbbのアドレスのコピーが入った入れ物で、
char *& rp はbbbその物自体と理解しました。
844
名前:
デフォルトの名無しさん
:04/06/23 23:40
>>843
おおまかにはそれでよし。
845
名前:
デフォルトの名無しさん
:04/06/24 01:38
コンストラクタの初期化リストで配列を初期化することはできるの?
やりたいことは、エラーでるけどこんな感じ。
class A {
public:
string s[];
A(): s[0]("0"),s[1]("1") {}
};
846
名前:
デフォルトの名無しさん
:04/06/24 01:43
>>845
無理無理。
847
名前:
832
:04/06/24 08:06
誰かお知恵は有りませんか、、、
文字で変換で調べてるけど見つからず・・・。
848
名前:
デフォルトの名無しさん
:04/06/24 09:01
>>847
JavaScriptなら変換関数あるから簡単だよ。
C++なら自分で作ればいいし。アルゴリズムも何も、先頭から順に見て%見つけたら変換するだけだしね。
849
名前:
832
:04/06/24 09:37
>>848
いや、出来るというか出来てるんですが結構遅くて。
こういうものは結構昔から使われているだろうから
何か良いアルゴリズムは無いかなぁと思う次第です。
850
名前:
デフォルトの名無しさん
:04/06/24 09:38
>>848
相手にすんな。
「自作だと遅い」とか言ってるが、C言語で遅く作る方が難しい。
本当は作ってもいないのに知恵を拝借したいだけだろう。
あるいは過去ログコピペ荒しかもしれない。
851
名前:
デフォルトの名無しさん
:04/06/24 09:41
自作コードのパフォーマンスについて評価する術を知る者が、
この程度のアルゴリズムでつまづくはずがない。
よって、釣り確定。
852
名前:
デフォルトの名無しさん
:04/06/24 10:08
>>849
その遅いコードとやらはどうせ8,9行だろ貼って見せろ。
853
名前:
デフォルトの名無しさん
:04/06/24 10:18
>>832
=
>>848
=
>>852
自演して楽しいもんなのか?
スレ違いだし。
854
名前:
デフォルトの名無しさん
:04/06/24 10:20
851=852=853
855
名前:
832
:04/06/24 10:28
これです。もっと良い方法あると思うんですけどね。
BOOL URLdecode(char *in, char* out)
{
char hex[3] = { 0 };
char *p;
while (*in) {
if (*in != '%')
*out = *in;
else {
++in;
p = in;
if (*p >= '0' && *p <= '9' || *p >= 'a' && *p <= 'f' || *p >= 'A' && *p <= 'Z') {
hex[0] = *p;
++p;
if (*p >= '0' && *p <= '9' || *p >= 'a' && *p <= 'f' || *p >= 'A' && *p <= 'Z') {
hex[1] = *p;
*out = strtol(hex, &p, 16);
++in;
}
}
else
return FALSE;
}
++in;
++out;
}
*out = '\0';
return TRUE;
}
856
名前:
デフォルトの名無しさん
:04/06/24 10:35
url エンコード define
でぐぐれ
857
名前:
デフォルトの名無しさん
:04/06/24 10:36
url エンコード include
のほうがよいかも
858
名前:
デフォルトの名無しさん
:04/06/24 10:40
デコードだった
859
名前:
デフォルトの名無しさん
:04/06/24 10:43
なんだ、真性だったか。
>>832
何と比較して遅いのかが知りたいところだな。
860
名前:
デフォルトの名無しさん
:04/06/24 10:44
>>855
URLdecode って名前つけてるな
それで検索しなかったのか?
861
名前:
デフォルトの名無しさん
:04/06/24 10:50
Cから始めて15年、strtol() なんて使ってるプログラムは初めて見た。
確かに遅そうなコードで、しかもバグがあるね。
862
名前:
832
:04/06/24 10:50
>>856
幾つか見て見ましたが定石みたいな物は無いみたいですね。
それでも自分の作ったやつよりは速そうなのでそれを使ってみることにします。
てか、URLdecodeで調べれば一発だったんだ。
文字変換で調べまくってたのはあほだった。。。
関数名に同じの使ってるのもあるし、、、orz
863
名前:
デフォルトの名無しさん
:04/06/24 10:52
>>855
ifの比較は遅すぎ。テーブル検索するように変更。
strtolは遅すぎ。自前で書き換え。
864
名前:
デフォルトの名無しさん
:04/06/24 11:03
テーブル検索って何だ?
865
名前:
デフォルトの名無しさん
:04/06/24 11:08
>>864
isdigit()などの実装しらんのか?
866
名前:
デフォルトの名無しさん
:04/06/24 11:10
BOOL URLdecode(const char *in, char* out)
{
char hex[3] = { 0 };
int i = 0, j = 0;
while (in[i]) {
if (in[i] != '%')
out[j++] = in[i++];
else {
if ( isxdigit(in[i+1]) && isxdigit(in[i+2])) {
hex[0] = in[i+1];
hex[1] = in[i+2];
out[j++] = strtol(hex, 0, 16);
i += 3;
}
else {
out[j++] = in[i++];
out[j++] = in[i++];
}
}
}
out[j] = '\0';
return TRUE;
}
ほれ。ってもういいのか。
867
名前:
デフォルトの名無しさん
:04/06/24 11:11
C++と関係ないじゃん。Cスレに逝ってくれよ!
夏厨の季節には少し早いはずなんだが。
868
名前:
デフォルトの名無しさん
:04/06/24 11:12
>>865
isdigit()などの実装がひとつだとでも言うのか?
869
名前:
デフォルトの名無しさん
:04/06/24 11:16
ここがいいよ
C言語のCGIを語りつつ普及するスレ
http://pc5.2ch.net/test/read.cgi/php/1048393217/
870
名前:
864
:04/06/24 11:17
>>865
ひょっとして、char型の256個配列を用意するとか?
871
名前:
デフォルトの名無しさん
:04/06/24 11:23
>>868
粘着厨が。氏ね
872
名前:
864
:04/06/24 11:25
ちなみにMSDNには大嘘が書かれている。(以下抜粋)
http://www.microsoft.com/japan/msdn/library/ja/vclib/html/_crt_character_classification.asp
通常、文字分類ルーチンは、自作のテストより高速です。たとえば、次のコードは isalpha(c) を呼び出した場合より遅くなります。
if ((c >= 'A') && (c <= 'Z')) || ((c >= 'a') && (c <= 'z'))
return TRUE;
(抜粋ここまで)
などと書かれている。お前ら、実際に試してみろ。
上のコードとisalpha()をReleaseビルド版で試すと、自作コードの方がisalpha(c)より速いことを確認できるだろう。
873
名前:
デフォルトの名無しさん
:04/06/24 11:27
const char codetbl[] = "0123456789ABCDEF";
874
名前:
デフォルトの名無しさん
:04/06/24 11:27
>>872
( ´,_ゝ`)プッ
嘘つきはお前だよ
875
名前:
デフォルトの名無しさん
:04/06/24 11:28
そんなの、CPUとメモリやキャッシュ速度によって如何様にも変わるから
MSDNも872も正しくない
876
名前:
デフォルトの名無しさん
:04/06/24 11:30
>>873
そんなの何の意味も無い。
VC6のランタイムだと、
#define isdigit(_c) (MB_CUR_MAX > 1 ? _isctype(_c,_DIGIT) : _pctype[_c] & _DIGIT)
こんな実装になってる。_isctypeもまたシンプルでない実装になってるし。
877
名前:
デフォルトの名無しさん
:04/06/24 11:31
>>874
いいから試せ。
漏れは、GCCとVC6で逆転を確認している。VC7は試してない。
878
名前:
デフォルトの名無しさん
:04/06/24 11:34
>>877
だから試してから書いてんだよ。激遅。CPUの違いぐらいで吸収できる差とは
思えん。
879
名前:
デフォルトの名無しさん
:04/06/24 11:35
相変わらず、C++の領分から外れたり、話題の程度が低くなったりすると
俄然盛り上がるな。
880
名前:
デフォルトの名無しさん
:04/06/24 11:38
低レベルな争い
881
名前:
デフォルトの名無しさん
:04/06/24 11:44
関数内で宣言した変数ってスコープの関係で、関数から出ると使えなくなるんでしょ?
その変数を返り値にした場合、呼び出し元で使っても大丈夫なの?
呼び出し元で返り値をすぐに変数に代入すれば安全が保証される?
スコープなぞ
882
名前:
デフォルトの名無しさん
:04/06/24 11:48
>>879
>>880
だって煽ると面白いんだもん。やめられんよ。(゚∀゚)アヒャ
883
名前:
デフォルトの名無しさん
:04/06/24 11:50
>>878
ちゃんとinline関数とかマクロにしたか?
漏れの環境だと、isdigit():自作コード=5:1だぞ(VC6)。
884
名前:
デフォルトの名無しさん
:04/06/24 11:51
>>878
は無知の煽りか?
885
名前:
デフォルトの名無しさん
:04/06/24 11:52
>>883
それぐらいちゃんとしてるっつーに。しつこいな。
886
名前:
デフォルトの名無しさん
:04/06/24 11:53
>>884
俺がどのスレのどのレスで煽ってるかはどこにも書いてないのだが・・・・
またエスパーか?
887
名前:
デフォルトの名無しさん
:04/06/24 11:57
>>878
コンパイル環境と所要時間の比ぐらい示したらどうか?
劇遅でも数値ぐらい示せるだろ。
888
名前:
883
:04/06/24 12:03
こまかいけど訂正
isdigit()じゃなくて、isalpha()
889
名前:
872
:04/06/24 12:15
>>874
、
>>878
、
>>885
嘘つきな俺を啓蒙してくれよ。今ひとつ納得できないもんでな。
890
名前:
デフォルトの名無しさん
:04/06/24 12:18
>>881
ダメ。すぐもなにも元よりスコープ外の物に保障はない。
891
名前:
デフォルトの名無しさん
:04/06/24 12:21
class cTemp{
………
}
class cAdv : public cTemp{
………
}
という感じでクラスを宣言して
cTemp *Test = new cAdv();
delete Test;
↑のコードを実行するとcAdvのデストラクタは実行されないみたいなんですが、
まちがっていますか?継承元ポインタのポインタをdeleteすると
継承元のデストラクタしか実行されないのかっていうことなんですが
892
名前:
デフォルトの名無しさん
:04/06/24 12:25
また、virtualに戻るのか…
893
名前:
デフォルトの名無しさん
:04/06/24 12:39
>>891
間違ってない。そういう仕様だ。
894
名前:
デフォルトの名無しさん
:04/06/24 12:42
>>889
isa1>isa2=isalpha
#include <stdio.h>
#include <ctype.h>
#include <assert.h>
const int alpha = 1;
int table[256];
maketable()
{ int i;
for (i = 'A'; i <= 'Z'; i++) table[i] |= alpha;
for (i = 'a'; i <= 'z'; i++) table[i] |= alpha;
}
int isa1(int c)
{ return table[c] & alpha; }
int isa2(int c)
{ return ((c >= 'A') && (c <= 'Z')) || ((c >= 'a') && (c <= 'z')); }
int measure(int(*f)(int), int times)
{ char s[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
int i, j, t = clock();
for (i = 0; i < times; i++) for (j = 0; j < sizeof(s) - 1; j++) assert( f(s[j]) );
return clock() - t;
}
main()
{ maketable();
printf("%dms.\n%dms.\n%dms.\n", measure(isa1, 1000000), measure(isa2, 1000000), measure(isalpha, 1000000));
}
895
名前:
872
:04/06/24 12:44
>>880
>低レベルな争い
そうだ。
低レベルで、かつ、ループの中で何千・何万回も行うかもしれない重要な処理だ。
スレ違いなのは認めるが、if構文や自作コードが遅いかどうかは極めて重要だろ?
896
名前:
デフォルトの名無しさん
:04/06/24 12:52
>>895
センスが無いのか読解力がないのか微妙な1〜2行目はともかく、
> スレ違いなのは認めるが
わかっているようなので終了ですね ;-)
897
名前:
872
:04/06/24 13:22
>>894
は、
>>878
.
>>885
とは別人かな?
inline関数やマクロを使ってないみたいだし。
それはそうと、
>>894
のコードを自環境(VC6)でやってみた。
(一部コンパイルが通らない部分やassert()除外などの修正した。)
297ms.
360ms.
343ms.
自環境ではテーブル検索型が最も速かった(isa2>isalpha>isa1)。
述語関数的な用途だと確かに標準ライブラリ関数が威力を発揮する。
自分が
>>883
で使ったソースでも非インライン・非マクロの場合、
標準のisalpha()に惜敗だった。差は5〜10%ほど。
いずれにせよ、
>>878
が触れたような【CPUの違いぐらいで吸収できない格差】が得られなかった。
>>878
の劇遅に関するレポートが見たいところだな。
898
名前:
デフォルトの名無しさん
:04/06/24 13:35
VC6なら-Ob2かな、これでインライン展開されたはず。
isa1 140ms
isa2 190ms
isalpha 670ms
くらいになった
899
名前:
872
:04/06/24 13:59
>>898
なぬ?
関数アドレス渡しでもinline処理が使えるとは知らなかった。・・・orz
0ms.
0ms.
265ms.
・・・アレ?スマソ。ソース修正の仕方が悪く余計な最適化されてしまってたみたい。
そんなわけで余計な最適化されないように修正した。
〜最終結果〜
●非インライン・非マクロ(Ob2なし)
281ms.
375ms.
359ms.
>>897
とほとんど同じ。
●インライン(Ob2あり)
78ms.
141ms.
500ms.
これも、テーブル検索型が最速だ。
900
名前:
899
:04/06/24 14:05
興味深いのは、Ob2指定でisalpha()がかえって遅くなっているところだ。
不思議だが、この辺はコンパイラ依存が強そうだ。
VC7やgccでまた違った結果になる悪寒。
901
名前:
デフォルトの名無しさん
:04/06/24 14:07
cygwin + gcc3.4.0 (-O3)だとこうなった。
453ms.
500ms.
547ms.
902
名前:
デフォルトの名無しさん
:04/06/24 14:10
俺もやってみた。
Borland-C++5.6.4
-Od(最適化なし)
454ms.
578ms.
765ms.
-Ox(最大限最適化)
422ms.
516ms.
703ms.
Pen4 2.8G + WindowsXPSP1
腐った某ランドのコンパイラでもテーブルが最速である事が判明。
903
名前:
872
:04/06/24 15:12
漏れは以前、このスレに、「車輪の再発明はよくない」とか書き込んた者なのだが、
コンテナの再発明と、グローバル関数の開発は別だと思っている。
このスレを独壇場にしてスマンかった。
ムシャクシャしてやった。今は反省している。
904
名前:
デフォルトの名無しさん
:04/06/24 15:16
>>903
そう思うなら氏ね
905
名前:
デフォルトの名無しさん
:04/06/24 16:18
車輪を再発明する必要はないが、出来の悪い車輪を改善する必要は時としてある。
906
名前:
デフォルトの名無しさん
:04/06/24 16:31
まあ、今回のケースはisxdigitを迂回する必要があるかどうか疑問だけどな
907
名前:
デフォルトの名無しさん
:04/06/24 16:59
例外規則って何かに使われてるんですか?
書いても何も得しないんでしょうか?
void Process() const throw();
のthrow()の部分。
908
名前:
デフォルトの名無しさん
:04/06/24 19:42
デザインパターンのStateパターンって、
継承で実装するよりも、templateと特殊化で実装
した方が楽な気がしますが、何か問題あるでしょうか?
909
名前:
デフォルトの名無しさん
:04/06/24 19:59
>>908
それで動的に出来るのか?
910
名前:
デフォルトの名無しさん
:04/06/24 20:04
isalphaはロケールを見て適したテーブルを引く、ということをVCはやってたから (間違ってたらゴメン)
ASCIIコードのみを考えるなら、自作のほうが早くなるのかも寝。
911
名前:
デフォルトの名無しさん
:04/06/24 20:08
*BaseState に代入できませんな…orz
コーディングは繰り返しが出てくるくせに…
912
名前:
デフォルトの名無しさん
:04/06/24 20:21
>>910
テストしてみたけど、isalphaだけだとうまくいかない。
(下記の後者のどこがいけないのでしょうか?)
setlocale(LC_CTYPE,"japanese");
//これはOK
for(int i=0;i<=0xFF;i++){
if( !( isa2(i) == ( (isascii(i & 0xFF) != 0) ? (isalpha(i & 0xFF) != 0 ) : (false) ) ) )
printf("isa2(%d)=%d,isalpha(i)=%d\n",i,isa2(i),i,isalpha(i));
}
//これだとなぜかうまくいかない
for(int i=0;i<=0xFF;i++){
if( !( isa2(i) == (isalpha(i & 0xFF) != 0 ) ) )
printf("isa2(%d)=%d,isalpha(i)=%d\n",i,isa2(i),i,isalpha(i));
}
913
名前:
デフォルトの名無しさん
:04/06/24 20:30
なんで戻り値を比較してるんだ?
914
名前:
デフォルトの名無しさん
:04/06/24 20:37
>>890
じゃあ、どうやって戻り値を利用するの?
915
名前:
デフォルトの名無しさん
:04/06/24 20:38
ローカル変数のコピーを返せばいい
916
名前:
デフォルトの名無しさん
:04/06/24 20:45
>>912
つうか、プログラムもうちょっとちゃんと書け
ifの条件をすっきりさせて、printfの引数の数を数えなおせ
917
名前:
デフォルトの名無しさん
:04/06/24 20:48
>>912
半角カナ
918
名前:
デフォルトの名無しさん
:04/06/24 20:56
>>915
関数の引数に変数を渡したらコピーされるのは知ってるけど、
returnの場合もコピーされた変数が戻る?
919
名前:
912
:04/06/24 21:16
>>916
ほんとだね。全然見てなかった...orz
setlocale(LC_CTYPE,"japanese");//これがないときは両方うまくいく
//これはOK
//asciiか判断してからalphaかを確認
for(int i=0;i<=0xFF;i++){
if( isa2(i) != ( (isascii(i) != 0) ? (isalpha(i) != 0 ) : (false) ) )//一致しないとき
printf("isa2(%d)=%d,isalpha(%d)=%d\n",i,isa2(i),i,isalpha(i));
}
//これだとlocale変えてるときに一致しないときがある
//alphaかだけを確認
for(int i=0;i<=0xFF;i++){
if( isa2(i) != (isalpha(i) != 0 ) )//一致しないとき
printf("isa2(%d)=%d,isalpha(%d)=%d\n",i,isa2(i),i,isalpha(i));
}
920
名前:
デフォルトの名無しさん
:04/06/24 21:43
結局
>>872
は正直者?
921
名前:
デフォルトの名無しさん
:04/06/24 21:46
ctype.hのisalphaとlocaleのisalphaは別物だぞ。
ctype.hのisalphaはマクロだから遅くないけど、
localeのisalphaは複雑なコードだから遅い。
922
名前:
デフォルトの名無しさん
:04/06/24 21:46
つまりC++はCより遅い
923
名前:
デフォルトの名無しさん
:04/06/24 21:47
>>920
>>872
は正直者です。
ちなみに私も正直者です。
924
名前:
デフォルトの名無しさん
:04/06/24 21:56
ついでに俺も正直者という事にしておいてください。
925
名前:
917
:04/06/24 21:56
>>919
一致しない範囲は半角カナなんだってば。
この辺?
> _ismbcalpha
> 英字 c がシングルバイト ASCII 英字(0x41<=c<=0x5A または 0x61<=c<=0x7A)
> または半角カタカナ文字(0xA6<=c<=0xDF)の場合だけ真を返します。
926
名前:
デフォルトの名無しさん
:04/06/25 07:04
>>918
もどらない。戻り値は使わないようにすべき
927
名前:
デフォルトの名無しさん
:04/06/25 07:40
>>926
!?
928
名前:
デフォルトの名無しさん
:04/06/25 09:00
すみません、質問があります
今96×96で14枚つづりのアニメーションをしよう(画像は96×1334)と思っているのですが
アニメーションなんてやったことないので正直わかりません
やり方を教えていただけないでしょうか?
また画像をまとめる際は横長や縦長にするより正方形や長方形にしたほうがいいのでしょうか?
よろしくお願いします
929
名前:
デフォルトの名無しさん
:04/06/25 09:08
はい次の質問どうぞ
930
名前:
デフォルトの名無しさん
:04/06/25 09:13
"C++"を二文字動かして"C#"にしろといわれましたがよく分かりません。
すっきりとした回答をお願いします。
931
名前:
デフォルトの名無しさん
:04/06/25 09:20
>>930
二文字動かすの部分がわかりません。出力例をください
932
名前:
デフォルトの名無しさん
:04/06/25 09:22
VC++つかってるんですが
Debug warning!
Detected memory leaks
といわれてしまいます
なぜですか?
933
名前:
デフォルトの名無しさん
:04/06/25 09:32
>>932
メモリリークしてるからです。
934
名前:
デフォルトの名無しさん
:04/06/25 09:32
>>932
文字通りメモリリークしている。
たぶんdelete忘れ。
VCスレで発見方法教えてもらえ。
935
名前:
デフォルトの名無しさん
:04/06/25 09:45
>>933
>>934
サンクス
936
名前:
919
:04/06/25 10:17
>>925
thx.
923あたりで言ってる意味がやっとわかったw
MSDN不親切すぎ
>is 系ルーチンでは、指定した条件に対するテスト結果は、
>現在のロケールの LC_CTYPE カテゴリ設定に依存します。
>詳細については、setlocale を参照してください。
MINGWの説明(・∀・)イイ!!
http://mingw.biggie.jp/reference/isalpha.html
937
名前:
デフォルトの名無しさん
:04/06/25 10:29
( 'ー' )イイ!
938
名前:
デフォルトの名無しさん
:04/06/25 18:51
質問でございます
class A{
class B{
public:
int x;
}
B y;
}
こんな感じでクラスの中で宣言したものをその上のクラスで宣言して使う時
gccではコンパイルできるんですがBorland C++では出来ません。
なにかオプションとかつけたら出来るようになるんでしょうか?
939
名前:
デフォルトの名無しさん
:04/06/25 20:26
>>928
ISO/IEC 14882:2003,Information Technology―Programming languages―C++
では、アニメーションについて規定していない。
よって、このスレのスコープ外である。
処理系別のスレで質問されるがよい。
940
名前:
デフォルトの名無しさん
:04/06/25 20:40
>>938
できるだろ。もしかして
int x;
} ←ここに ; が抜けてるだけ、とかいうオチじゃないだろうな?
941
名前:
デフォルトの名無しさん
:04/06/25 21:34
>>940
それっぽい罠
942
名前:
デフォルトの名無しさん
:04/06/25 22:55
今晩は厨房いないのかツマラン
943
名前:
デフォルトの名無しさん
:04/06/25 22:57
↑初登場
944
名前:
デフォルトの名無しさん
:04/06/26 00:38
iostreamについて質問です。
int main(int argc,char *argv[])
{
FILE *fin = stdin;
if(argc
>1
) fin = fopen(argv[1],"r");
・・・
}
このように引数が与えられない場合は標準入力を使用し、引数が与えられた
場合にはファイルオープンをするような処理をiostreamを使って簡潔に記述する
方法をご教授ください。
945
名前:
デフォルトの名無しさん
:04/06/26 00:52
istream* pistr;
ifstream istr;
pstr = &cout;
pstr = &istr;
(*pistr) >> i;
946
名前:
デフォルトの名無しさん
:04/06/26 00:53
(argc > 1)って常に真だと思うが。
947
名前:
945
:04/06/26 00:53
訂正。
pstr = &cout;
↓
pstr = &cin;
948
名前:
デフォルトの名無しさん
:04/06/26 00:55
>>946
マジで言ってるんだとしたら、相当痛い。もう寝とけ。
949
名前:
デフォルトの名無しさん
:04/06/26 00:58
>>944
こんなところで。
#include <iostream>
#include <fstream>
int mainfunc(std::istream & stream){
int i;
stream >> i;
std::cout << i;
}
int main(int argc,char *argv[]){
if(argc
>1
){
std::ifstream stream(argv[1]);
mainfunc(stream);
}else{
mainfunc(std::cin);
}
return 0;
}
950
名前:
945
:04/06/26 00:59
さらに訂正。
pstrを、pistrに修正。
ま、雰囲気で分かるとは思うが。
951
名前:
944
:04/06/26 01:12
>>945
,949
なるほど・・・理解しました!
ありがとうございました。
952
名前:
デフォルトの名無しさん
:04/06/26 10:16
クラスのプライベートで、
char *dogs[4] = {"Afghan Hound", "Beagle", "Border Collie", "Dalmation"};
のような文字列の配列を定義するにはどうすればいいんだろ。。。
class name{
private:
char *dogs[4] = {"Afghan Hound", "Beagle", "Border Collie", "Dalmation"};
};
こうするとエラーでるし。
953
名前:
デフォルトの名無しさん
:04/06/26 10:57
>>952
これでいいか
class name{
private:
static char *dogs[];
};
char *name::dogs[] = {"Afghan Hound", "Beagle", "Border Collie", "Dalmation"};
954
名前:
デフォルトの名無しさん
:04/06/26 11:01
>>952
class name{
private:
char *dogs[4];
public:
name()
{
dogs[0] = "Afghan Hound";
dogs[1] = "Beagle";
dogs[2] = "Border Collie";
dogs[3] = "Dalmation";
}
};
955
名前:
952
:04/06/26 11:09
>>953
これだと結局はグローバルで初期化することになるよね?
できればコンストラクタ内で初期化したいんだよ。
>>954
それは俺も考えたんだけど、そんな面倒くさいことしないといけないの?
本当に使おうと思ってる配列の数は28個なんだけど。。。。
956
名前:
デフォルトの名無しさん
:04/06/26 11:16
>>955
class name{
private:
char *dogs[4];
public:
name()
{
ifstream f("dogs.txt");
for(int i = 0; i < 4; i++) {
//ma, ganbareya...
}
}
};
957
名前:
デフォルトの名無しさん
:04/06/26 11:50
class name {
private:
static const char * * dogs;
public:
name() {
static const char * const tmpDogs[] = {
"AH", "B", "BC", "D",
};
dogs = tmpDogs;
};
958
名前:
デフォルトの名無しさん
:04/06/26 11:52
>>955
> できればコンストラクタ内で初期化したいんだよ。
ならコンストラクタの中に書けばいいじゃないか。
959
名前:
デフォルトの名無しさん
:04/06/26 12:25
>>955
>そんな面倒くさいことしないといけないの?
古今稀に見るワガママ君だな、キミ(w
クラス関係ないじゃん。
960
名前:
デフォルトの名無しさん
:04/06/26 12:50
>>955
コンストラクタ内で初期化したいということは、インスタンス毎に配列を
持っていたいということ?そうだとしたら、そもそも
>>953
の方法は適さない。
その配列を書き換えるつもりが無いのなら、staticなメンバとして宣言して、
クラス定義の外で一度だけ初期化するの(つまり、
>>953
の方法)が自然だと思う。
その配列の用途が判らないことには答えようがないよ。
961
名前:
デフォルトの名無しさん
:04/06/26 13:08
>>960
に同意
>>952
はインスタンス変数とクラス変数の違いが分かってないのでは?
962
名前:
デフォルトの名無しさん
:04/06/26 13:15
とりあえず、
>>952
はマルチ。
963
名前:
デフォルトの名無しさん
:04/06/26 13:16
>>961
>インスタンス変数とクラス変数
お前の造語か?( ´,_ゝ`)
964
名前:
デフォルトの名無しさん
:04/06/26 13:20
わかったとしてもわがまま言うだろうから、ここは素直に「できない仕様」と言って放置しよう。
965
名前:
デフォルトの名無しさん
:04/06/26 13:22
>>963
マジ知らねーの? おまえ・・・
966
名前:
デフォルトの名無しさん
:04/06/26 13:37
>>963
まずググってから発言するべきだったな
( ´,_ゝ`)スゲーバカハッケンシマスタ!
967
名前:
デフォルトの名無しさん
:04/06/26 13:57
>>966
まあ、クラス変数作るのにstaticなんてキーワード使うC++系言語が悪いといえば悪いんだけど。
ググってから発言すべきってのには同意。
968
名前:
デフォルトの名無しさん
:04/06/26 14:01
グローバル変数、メンバ変数と言ってくれなきゃわからん。
969
名前:
デフォルトの名無しさん
:04/06/26 14:16
そして誰も相手しなくなった・・・
970
名前:
デフォルトの名無しさん
:04/06/26 14:25
>>963
お前ひょっとして、
>>874
と同一人物か?
971
名前:
デフォルトの名無しさん
:04/06/26 14:30
>>968
それもクラス変数、インスタンス変数とは微妙に違う。
972
名前:
デフォルトの名無しさん
:04/06/26 14:39
C++では、両方とも「メンバ変数」で、static付いてるのが「静的メンバ変数」だ。
973
名前:
デフォルトの名無しさん
:04/06/26 14:39
稲垣メンバ変数
974
名前:
デフォルトの名無しさん
:04/06/26 14:40
Javaの用語をC++スレで言われてもなぁ・・・・・
975
名前:
デフォルトの名無しさん
:04/06/26 14:40
じゃあ変数の呼び方で1000目指します。
976
名前:
デフォルトの名無しさん
:04/06/26 14:48
それじゃおまえら女性にはちんちんのこと何て呼んで欲しいよ。
俺は恥かしそうに「おちんちん」て言ってほしい。
977
名前:
952
:04/06/26 14:52
>>956-960
Naruhodone, Thank you!!
978
名前:
デフォルトの名無しさん
:04/06/26 15:02
個人的にはインスタンス変数って言葉が何となく気持ち悪い。
979
名前:
デフォルトの名無しさん
:04/06/26 15:05
俺もおちんちん派
980
名前:
デフォルトの名無しさん
:04/06/26 15:06
インスタンスおちんちん
981
名前:
デフォルトの名無しさん
:04/06/26 15:08
じゃあ非staticメンバ変数をおちんちん変数と呼ぼう。
982
名前:
デフォルトの名無しさん
:04/06/26 15:11
Visualおちんちん++
983
名前:
デフォルトの名無しさん
:04/06/26 15:12
おちんちん++;
は、つまり勃起することを意味する。
984
名前:
デフォルトの名無しさん
:04/06/26 15:17
違うだろ++はイテレータだ。隣のマムコに移動するんだよ。
985
名前:
デフォルトの名無しさん
:04/06/26 15:18
++は必ずプラプラと発音する様に
986
名前:
デフォルトの名無しさん
:04/06/26 15:19
C++の相談を・・・・
すみません、部屋間違えました
987
名前:
デフォルトの名無しさん
:04/06/26 15:20
>>986
におちんちんをいじってる姿を見られた感じがするんだが
988
名前:
デフォルトの名無しさん
:04/06/26 15:26
>>984
型が違うから同じコンテナに入れて走査できないだろ?
989
名前:
デフォルトの名無しさん
:04/06/26 15:29
∧∧ ミ _ ドスッ
( ,,)┌─┴┴──────┐
/ つ. 相談室は夏期休暇中 │
〜′ /´ └─┬┬──────┘
∪ ∪ ││ _ε3
990
名前:
デフォルトの名無しさん
:04/06/26 15:32
ぬルポに決まってるだろうが!
991
名前:
デフォルトの名無しさん
:04/06/26 15:33
ちんぽいんたー
992
名前:
デフォルトの名無しさん
:04/06/26 15:33
あとは次スレ立てて現スレ埋めるだけだから、
ここでおちんちんの呼び方がきっかけで起こった俺のちょっとHな体験談を
書かせてもらおうか。
あれはバイトをしてた頃の話だ。
当時俺はファミレスでバイトをしていた。
ある日バイトの休憩時間にウエイトレスの女の子と休憩室で二人きりになったんだ。
女の子と言っても俺より2歳年上で、バイトの先輩でもあった。
993
名前:
デフォルトの名無しさん
:04/06/26 15:46
ツヅキマダー?
994
名前:
デフォルトの名無しさん
:04/06/26 15:47
埋め
995
名前:
デフォルトの名無しさん
:04/06/26 15:47
で、どういう流れでそうなったのかは忘れたが、
男性器のことを何と呼ぶかという話になった。
彼女はさっきも書いたとおり年上で、
けっこう活発で面倒見も良い頼れる先輩って感じなんだけど、
その話の時はなんだか耳が赤くなってるのが俺にはわかって、ちょっと可愛く見えた。
その時は彼女は「ちんちん」と呼ぶと言っていた。
いつもの先輩としての彼女とは違って、少し恥かしがってる言い方がちょっと新鮮だった。
休憩時間はそんな話で終わったんだけど、
その日のバイトは俺も彼女も閉店時間までだったので、
バイトが終わってからまた休憩室で一緒になった。
996
名前:
デフォルトの名無しさん
:04/06/26 15:49
産め
997
名前:
デフォルトの名無しさん
:04/06/26 15:51
梅
998
名前:
デフォルトの名無しさん
:04/06/26 15:52
埋め
999
名前:
デフォルトの名無しさん
:04/06/26 15:52
生め
1000
名前:
デフォルトの名無しさん
:04/06/26 15:52
1000おちんちん ぬるぽ
■過去ログ置き場に戻る■
1-
前250
次250
最新50
DAT2HTML
0.33f Converted.