小编ikh*_*dor的帖子

如何将此Scheme代码转换为Racket

我是计划的新手.这是麻省理工学院SICP课程的代码示例.

 (define (+ x y)
  (if (= x 0)
      y
      (+ (-1+ x) (1+ y))))
Run Code Online (Sandbox Code Playgroud)

如何将其转换为Racket代码?我想转换为Racket,因为我使用DrRacket来运行代码,我喜欢它.它一直工作到现在,但抱怨增加运营商的计划.

我得到的错误是:

  1. define-values: cannot change constant variable: +
  2. reference to undefined identifier: -1+

以下是我正在学习的视频的链接:

http://www.youtube.com/watch?v=dlbMuv-jix8&t=1325

lisp scheme sicp racket

3
推荐指数
1
解决办法
1136
查看次数

该程序是否会导致内存泄漏

我问我的朋友,在被这个帖子吸引之后,他是否可以在不使用循环或编码的情况下从1到1000进行打印:

在没有循环或条件的情况下打印1到1000

他用这个程序回答.

#include <iostream>
using namespace std;

static int n = 1;

class f {
public:

    f() {
        cout << n++ << endl;
    }
};

int main(int argc, char *argv[]) {
    f n [1000];
}
Run Code Online (Sandbox Code Playgroud)

运行程序输出正常.但是当我在netbeans上关闭程序时,它似乎仍在运行并消耗内存.该程序是否导致内存泄漏?有人可以解释这个小程序是如何工作的吗?

c++ memory-leaks

0
推荐指数
1
解决办法
258
查看次数

标签 统计

c++ ×1

lisp ×1

memory-leaks ×1

racket ×1

scheme ×1

sicp ×1