やっぱりこれです
while(*src++ = *dst++) ;
・ポインタの型によってインクリメントの適量を判断して加算してくれる点
・行末の ;
・終了判定
無駄も過剰もなくって感じで好きです
前スレ
http://pc12.2ch.net/test/read.cgi/tech/1037458703/
今までに見たソースコードで一番感動したのは deux
■ このスレッドは過去ログ倉庫に格納されています
2010/01/12(火) 23:23:19
2010/01/12(火) 23:26:20
srcとdstが逆なので0点
2010/01/12(火) 23:27:43
演算子のオーバーロードでちゃんと
srcからdstに代入されるようになっているから
srcからdstに代入されるようになっているから
4デフォルトの名無しさん
2010/01/12(火) 23:29:39 >>1
要するに stos[b/w/d] だろ
要するに stos[b/w/d] だろ
2010/01/12(火) 23:44:16
>>3
ほんとC++は何でもありだな
ほんとC++は何でもありだな
2010/01/13(水) 02:01:36
過保護ってやつか
7デフォルトの名無しさん
2010/01/13(水) 06:56:382010/01/13(水) 10:15:37
こういうので感動できないのは、俺が年だからかなぁ。 こういう書き方出来ると分かっても、使わないなぁ。
9デフォルトの名無しさん
2010/01/13(水) 12:04:53 昔は再帰の書き方で感動したこともあったけど
今は別にって感じだな
枯れちまって情熱がもうないのかもしれん
今は別にって感じだな
枯れちまって情熱がもうないのかもしれん
2010/01/13(水) 12:09:23
int main()
{
return main();
}
{
return main();
}
2010/01/13(水) 12:20:51
これ有名な技法でしょ。しかも代入方向間違ってるし。
2010/01/13(水) 12:41:49
2010/01/13(水) 12:46:40
フラグが使えないのにアセンブラと言うのは否
2010/01/13(水) 12:47:38
それ、なんか理屈が変だよ。
2010/01/13(水) 13:04:55
ソースって訳じゃないんだけど
感動したものにこんなのがある
SQLで覆面算を解く
ttp://miko.org/~naruto/Artifact/MASKSQL.html
感動したものにこんなのがある
SQLで覆面算を解く
ttp://miko.org/~naruto/Artifact/MASKSQL.html
2010/01/13(水) 14:18:44
呼び出し元でバッファサイズと終了条件の設定を保証しないといけないから、
これだけだと危険なコードだよねぇ
これだけだと危険なコードだよねぇ
2010/01/13(水) 17:47:19
値交換っててっきり一時変数が必要かと思ってたらそうでもなかったんだね
x = x + y;
y = x - y;
x = x - y;
x = x + y;
y = x - y;
x = x - y;
2010/01/13(水) 17:55:28
そうですね
それでうまくいく範囲の値を使っている限りはね
それでうまくいく範囲の値を使っている限りはね
2010/01/13(水) 18:28:37
2010/01/13(水) 19:23:16
2010/01/13(水) 19:24:31
2010/01/13(水) 19:26:56
2010/01/14(木) 14:07:54
>>21
おいおい、doubleなのに%dとか素で言ってるのかw
おいおい、doubleなのに%dとか素で言ってるのかw
2010/01/14(木) 14:25:56
>>23
ごめん。素で言っちゃったw
ごめん。素で言っちゃったw
2010/01/14(木) 14:29:11
2010/01/14(木) 14:32:10
2010/01/14(木) 14:45:26
2010/01/14(木) 22:12:39
xor を使った値交換は超有名かと思ってたけど、知らない人もいるのかね。
>>17 みたいな劣化版を今更発見されても・・・ねえ
>>17 みたいな劣化版を今更発見されても・・・ねえ
2010/01/14(木) 23:31:37
XORが使えない環境もあるのだよ
SQLとか
SQLとか
2010/01/15(金) 00:50:13
xor使って中央値を求めるコードは昔見て感動した
こんな奴。
int median(int x,int y,int z){
return max(x,y)^max(y,z)^max(z,x);
}
こんな奴。
int median(int x,int y,int z){
return max(x,y)^max(y,z)^max(z,x);
}
2010/01/15(金) 02:03:40
ADD 90H
DAA
ADC 40H
DAA
これ考えたやつの頭はどうかしてる。
DAA
ADC 40H
DAA
これ考えたやつの頭はどうかしてる。
2010/01/15(金) 02:20:01
a = max(x,y)
b = min(x,y)
z = a*a - b + 2 * y
という式において、x, y と zの関係を表にすると、以下のように
zが正方形を規則正しく埋めるような形に並ぶ。
00 01 04 09
03 02 05 10
08 07 06 11
15 14 13 12
用途:
x,yの上限が動的に増える2次元配列を、
素のvetorに無理矢理突っ込むのに使ったり…
b = min(x,y)
z = a*a - b + 2 * y
という式において、x, y と zの関係を表にすると、以下のように
zが正方形を規則正しく埋めるような形に並ぶ。
00 01 04 09
03 02 05 10
08 07 06 11
15 14 13 12
用途:
x,yの上限が動的に増える2次元配列を、
素のvetorに無理矢理突っ込むのに使ったり…
2010/01/15(金) 06:16:22
>>28
誰が知らないと言ってるの?
誰が知らないと言ってるの?
2010/01/15(金) 10:50:41
値の交換なんて高々数値1個分のメモリがあればできるのにと思ってたけど、
ROM が数十キロバイトもあるのに RAM が数百バイトなんてマイコンも今時あるんだな。
そら有用だわ。
ROM が数十キロバイトもあるのに RAM が数百バイトなんてマイコンも今時あるんだな。
そら有用だわ。
2010/01/15(金) 12:23:01
xorだと整数型にしか使えないのでは?
2010/01/15(金) 13:43:40
すまん、すでに頭がアセンブラオンリーになってた。w
2010/01/17(日) 13:10:35
Dim ac(10) As Class1
Public Sub Test()
Dim c As New Class1
Dim i As Integer
For i = 0 To 10
Set c = Nothing
Set ac(i) = c
Next i
End Sub
Public Sub Test()
Dim c As New Class1
Dim i As Integer
For i = 0 To 10
Set c = Nothing
Set ac(i) = c
Next i
End Sub
2010/01/26(火) 17:28:08
2010/01/26(火) 17:29:25
おっと、式を忘れていた。
z=(x+y)^2/2+(x+y)/2+y
z=(x+y)^2/2+(x+y)/2+y
2010/03/24(水) 22:18:35
>>1のコードの意味を教えてくれ。構造体のコピー?
2010/03/24(水) 22:22:22
違う。配列のコピー?よくわからんコードには解説もつけてくれるとありがたい。
2010/03/24(水) 22:36:10
2010/03/24(水) 22:38:23
文字列のコピーじゃないかね
文字列の終端には\0があるからそれでループが終わる
K&Rとかに出てきそうな感じ
しかし、>>1って未定義じゃないんだろうか
初級C言語Q&Aの
二つの副作用完了点の間に、オブジェクトの値を2回以上変更している場合、
又は変更した後で新しい値を得ること以外の目的でそのオブジェクトをアク セスしている場合
詳しくないのでわからんけど
文字列の終端には\0があるからそれでループが終わる
K&Rとかに出てきそうな感じ
しかし、>>1って未定義じゃないんだろうか
初級C言語Q&Aの
二つの副作用完了点の間に、オブジェクトの値を2回以上変更している場合、
又は変更した後で新しい値を得ること以外の目的でそのオブジェクトをアク セスしている場合
詳しくないのでわからんけど
2010/03/24(水) 22:56:11
>>43
未定義になるのは、「同一の」オブジェクトの値を二回以上変更した場合な
未定義になるのは、「同一の」オブジェクトの値を二回以上変更した場合な
2010/03/25(木) 18:39:57
把握した。
つまり、このコード自体に意味はないが
while((*src)++ = *dst++)
だったら未定義ということだな
つまり、このコード自体に意味はないが
while((*src)++ = *dst++)
だったら未定義ということだな
2010/03/25(木) 19:03:38
2010/03/25(木) 22:58:42
ここまで何もかも間違っているといっそすがすがしいなw
2010/03/26(金) 05:40:51
■ このスレッドは過去ログ倉庫に格納されています
