小编S I*_*S I的帖子

C++类/结构成员的默认可见性

在C++中,为什么private是类的成员的默认可见性,但是对于结构是公共的?

c++ struct class member

53
推荐指数
2
解决办法
6万
查看次数

为函数式语言设计解释器有哪些主要问题?

假设我想为函数式语言实现解释器.我想了解这样做所涉及的问题以及可用的合适文献.这是一种处于早期设计阶段的新语言,这就是问题范围广泛的原因.

出于本讨论的目的,我们可以假设语言的目的并不重要,并且如果它在编写解释器的容易性方面产生显着差异,则可以更改其功能特征(甚至是大幅度改变).

麻省理工学院网站上有一份计算机程序结构和解释的在线副本,以及使用Scheme的麻省理工学院6.001讲座的视频,于1986年在惠普录制.这些都是语言设计的一个很好的介绍.

interpreter functional-programming

11
推荐指数
1
解决办法
2398
查看次数

为什么有些c ++编译器会让你获取文字的地址?

我不会命名的C++编译器允许你获取文字的地址,int*p =&42;

显然42是一个r值,大多数编译器拒绝这样做.

为什么编译器允许这样做?除了射击自己之外,你能做些什么呢?

c++ rvalue

4
推荐指数
1
解决办法
1141
查看次数

整数数组与c ++中指向整数的指针

如果我有int x[10]int *y,我怎么能分辨出两者之间的区别?

我有两个想法:

  1. sizeof()是不同的.

  2. &x有不同的类型--- int (*p)[10] = &x工作但不是int **q = &x.

还有其他人?

在一些模板库代码中,我需要确定指针是"真实"指针还是从数组中退化.我不能查看源代码,因为在我编写库之前库用户不存在....我可以通过重写代码解决这个问题,所以现在这只是一个理论练习.

c++ arrays pointers

2
推荐指数
1
解决办法
965
查看次数

如何防止在C++中无意中使用删除和自由交换?

当,如果有的话,可以deletefree互换在C++中使用?

我的担忧如下:假设使用malloc/ freenew/ delete(更不用说new[]/ delete[])有不正确的混淆.然而delete,free做同样的事情;
幸运的是,这在测试中没有受到影响.稍后这可能会导致生产崩溃.

我怎样才能强制执行某种检查以防止这种情况发生?如果这两个人混在一起,我可以得到警告吗?如果不是在编译时,可能在运行时有一些代码检测?我该如何处理?

这个问题的目的是找到避免在使用中无意混淆的方法.

c++ free memory-management

1
推荐指数
4
解决办法
701
查看次数