什么是c ++(通用(c / c ++)vs(通用c)/ c ++)

时间:2013-03-06 09:47:56

标签: c++ c

我是一名编程学生,偶尔会遇到一些参考:Generic C,这是否只是简单的经典C?

“任何严肃软件中结构的通用c / c ++实现”

它通常出现在诸如此类的背景中;我很确定我只是误读了这些引用(通用c)/ c ++而不是:generic(c / c ++)。看起来它可能指的是一组库。感谢您的所有回复。

4 个答案:

答案 0 :(得分:3)

没有“C / C ++”这样的语言。

一般而言(双关语)意味着使用它的来源并不真实可信。这仍然适用于“通用C”。

答案 1 :(得分:2)

  

“任何严肃软件中结构的通用c / c ++实现”

:)

这不是关于Generic C或Generic C ++,而是关于可以用C或C ++编译的代码中结构的通用实现。

这是一种含糊不清的英语。

答案 2 :(得分:1)

我不认为对“通用C”一词有完善的解释。它当然不是正式术语或技术术语,所以你只需要尝试从上下文中推断出作者的意图。

我最好的猜测是它通常意味着非平台特定的C,在这种情况下,它适用于C ++和C一样。

答案 3 :(得分:0)

通用附件的示例是

template<typename T, size_t N>
struct array {
    T e[N];
    T* begin() {return e;}
    T* end() {return e+N;}
    size_t size() const {return N;}
};
...
array<int, 2> a1 = {1, 2};
array<double, 2> a2 = {10.0, 2.0};

正如您所看到的,数组定义与类型和大小无关。这种结构/功能被命名为“通用”。所以使用这种方法的任何技术都可以命名为“通用”。