トップページ > プログラム > 2015年05月29日 > UV9YC1hI

書き込み順位&時間帯一覧

1 位/174 ID中時間01234567891011121314151617181920212223Total
書き込み数00000001000001310041000011



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
51
51
C言語なら俺に聞け(入門編)Part 129 [転載禁止]©2ch.net

書き込みレス一覧

C言語なら俺に聞け(入門編)Part 129 [転載禁止]©2ch.net
50 :デフォルトの名無しさん[sage]:2015/05/29(金) 07:13:43.33 ID:UV9YC1hI
あああああああ参照カウントあああああああ
C言語なら俺に聞け(入門編)Part 129 [転載禁止]©2ch.net
54 :51[sage]:2015/05/29(金) 13:36:21.56 ID:UV9YC1hI
>>52
所有権の移譲ってなんですか?
C言語なら俺に聞け(入門編)Part 129 [転載禁止]©2ch.net
58 :51[]:2015/05/29(金) 14:07:43.16 ID:UV9YC1hI
もうしわけない

void *list_car(void *obj)
{
enum gc_type type = gc_type(obj);

if (type == GC_TYPE_NULL) {
return NULL;
} else if (type == GC_TYPE_LIST) {
return ((struct list *)list)->car;
} else {
fprintf(stderr, "ERROR: TYPE\n");
abort();
}
}

void *list_cdr(void *obj)
{
enum gc_type type = gc_type(obj);

if (type == GC_TYPE_NULL) {
return NULL;
} else if (type == GC_TYPE_LIST) {
return ((struct list *)list)->cdr;
} else {
fprintf(stderr, "ERROR: TYPE\n");
abort();
}
}
C言語なら俺に聞け(入門編)Part 129 [転載禁止]©2ch.net
59 :51[]:2015/05/29(金) 14:08:17.84 ID:UV9YC1hI
void *gc_update(void **place, void *obj)
{
if (place == NULL) {
abort();
}
gc_incref(obj);
gc_decref(*place);
return *place = obj;
}
C言語なら俺に聞け(入門編)Part 129 [転載禁止]©2ch.net
60 :51[]:2015/05/29(金) 14:16:01.63 ID:UV9YC1hI
>>55
意味は分ったかもしれない
C言語なら俺に聞け(入門編)Part 129 [転載禁止]©2ch.net
61 :51[sage]:2015/05/29(金) 15:37:20.35 ID:UV9YC1hI
decrefのカウントが0になってもフリーリストに行かない関数があればカウントが0のオブジェクトを返せそう?

return なにか(void *);
C言語なら俺に聞け(入門編)Part 129 [転載禁止]©2ch.net
67 :51[sage]:2015/05/29(金) 18:09:45.20 ID:UV9YC1hI
>>63
void *移譲(void **場所)

void *オブジェクト = NULL;

if (場所 == NULL){
えらー

オブジェクト = *場所;
*場所 = NULL;
if (オブジェクト == NULL){return NULL;}
オブジェクト->カウンタ -= 1; /* 0でも何もしない */
return オブジェクト;


これどーですか?
C言語なら俺に聞け(入門編)Part 129 [転載禁止]©2ch.net
68 :51[sage]:2015/05/29(金) 18:11:21.80 ID:UV9YC1hI
>>66
プログラマ(自分)が意識的に回避
C言語なら俺に聞け(入門編)Part 129 [転載禁止]©2ch.net
71 :51[sage]:2015/05/29(金) 18:30:42.84 ID:UV9YC1hI
>>70
スルーしないで下さいよ
C言語なら俺に聞け(入門編)Part 129 [転載禁止]©2ch.net
74 :51[sage]:2015/05/29(金) 18:46:16.27 ID:UV9YC1hI
>>72
update(新しい場所,移譲(古い場所));

みたいな感じですぐにupdateの第二引数として利用することを想定しています

これなら問題ないと思ったのですが

>>73
これは失礼しました
C言語なら俺に聞け(入門編)Part 129 [転載禁止]©2ch.net
76 :51[sage]:2015/05/29(金) 19:33:06.21 ID:UV9YC1hI
>>75
もっともなのですがそれだとpopを実装できないのです


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。