相关疑难解决方法(0)

与C语言相比,C++的局限性是什么?

以下是C++的好处

  • C++提供了他们所询问的特定功能
  • 他们的C编译器几乎肯定是一个C++编译器,所以没有软件成本的影响
  • C++和C一样可移植
  • C++代码可以和C一样有效(或者更多,或者更少)

是否有任何具体原因和特定场景,其中必须使用C over C++?

参考这个问题:C中的泛型库

这不是重复,因为这个问题是关于语言限制而不是关于应该/不应该学习一种语言而不是另一种语言.

Peter Kirkham的帖子对我来说是最有用的,特别是关于我没有考虑的C99问题,所以我接受了它.感谢参与其他所有人.

c c++

116
推荐指数
19
解决办法
2万
查看次数

我应该在学习C++之前学习C语言吗?

我今天参观了大学CS系开放日,在实验室参观中,我们坐下来参加了本科生的几个最后一年的项目.一个特别好 - 一种FPS小行星游戏.我决定在src目录中查看它是用C++完成的(大多数其他项目都是Java 3D应用程序).

我以前没有做过任何C,但之前我已经查看了一些C代码.从我在这个游戏中的.cpp代码中看到的,它看起来并没有什么不同.

我有兴趣学习C或C++,但稍后可能会学习其他的.对我来说,先学习一个是否有任何优势,如果有,哪一个?

c c++

113
推荐指数
14
解决办法
14万
查看次数

是否有任何理由使用C而不是C++进行嵌入式开发?

我的硬件C++和C89上有两个编译器

我正在考虑将C++与类一起使用但没有多态(以避免使用vtable).我想使用C++的主要原因是:

  • 我更喜欢使用"内联"函数而不是宏定义.
  • 我想使用命名空间,因为我的前缀使代码混乱.
  • 我认为C++有点类型更安全,主要是因为模板和详细的转换.
  • 我真的很喜欢重载的函数和构造函数(用于自动转换).

在开发非常有限的硬件(4kb RAM)时,您是否认为有理由坚持使用C89?

结论

谢谢你的回答,他们真的很有帮助!

我认为这个主题通过,我会坚持使用C主要是因为:

  1. 在C中预测实际代码更容易,如果你只有4kb的ram,这非常重要.
  2. 我的团队主要由C开发人员组成,因此不会经常使用高级C++功能.
  3. 我找到了一种在C编译器(C89)中内联函数的方法.

因为你提供了很多好的答案,所以很难接受一个答案.不幸的是我不能创建一个wiki并接受它,所以我会选择一个让我最想的答案.

c c++ embedded c89

77
推荐指数
14
解决办法
4万
查看次数

C for Java Programmer?

可能重复:
我应该在学习C++之前学习C语言吗?

作为一名专业(Java)程序员和沉重的Linux用户,我觉得我有责任学习一些C(即使我可能永远不会专业地使用它),只是为了让我成为一个更好的编码器.

两个问题:

  1. 我应该先尝试使用C或C++ - 我发现它们是不同的语言,有一些共同点.学习两者,或者只尝试一个是有用的吗?我听说C++是一种噩梦般的语言庞然大物.

  2. 像我这样的Java开发人员有哪些最好的资源(书籍,教程,练习程序,参考代码).

谢谢

c c++ java

24
推荐指数
5
解决办法
5600
查看次数

我们必须使用C"出于性能原因"

在这个多语言的时代,几乎每一项任务似乎都有一种很好的语言,而且我发现自己在专业上正在努力克服" 除了C很快 "之外的咒语,其中快速的意思是"足够快".我和非常理性的思想开放的人合作,他们喜欢比较数字,而我所拥有的只是想法和意见.你能帮助我找到主观意见并进入"现实世界"吗?

您是否可以帮我找到关于嵌入式和(Linux)系统编程可以使用其他任何语言的研究?我很可能会推动一个错误的假设,并非常感谢研究向我展示这一点.您可以链接或包含好的数字,以帮助将"这只是他/她的意见"评论保持在最低限度.


所以这些是我的特殊要求

  • 记忆不是一个严重的约束
  • 便携性不是一个严重的问题
  • 这不是一个实时系统

c linux embedded systems-programming

21
推荐指数
10
解决办法
7716
查看次数

C代码仍然被认为是C++吗?

这个答案的评论让我感到疑惑.我一直认为C是C++的一个合适的子集,也就是说,任何有效的C代码都是有效的C++代码.我错了吗?是否可以编写一个无效的C++代码的有效C程序?

编辑:这与此问题非常相似,但不完全相同.

c c++

10
推荐指数
5
解决办法
2143
查看次数

为什么这用C编译而不是C++(sigaction)?

尝试使用g ++编译下面的代码时出现以下错误.当我使用gcc编译它时它工作正常(除了一些警告).任何帮助赞赏.

g++ ush7.cpp
ush7.cpp: In function ‘int signalsetup(sigaction*, sigset_t*, void (*)(int))’:
ush7.cpp:93: error: expected unqualified-id before ‘catch’
ush7.cpp:95: error: expected primary-expression before ‘catch’
ush7.cpp:95: error: expected `;' before ‘catch’
ush7.cpp:97: error: expected primary-expression before ‘catch’
ush7.cpp:97: error: expected `;' before ‘catch’
ush7.cpp:100: error: expected primary-expression before ‘catch’
ush7.cpp:100: error: expected `)' before ‘catch’
ush7.cpp:108: error: expected `)' before ‘;’ token
ush7.cpp:108: error: expected `)' before ‘;’ token
ush7.cpp: In function ‘int makeargv(const char*, const char*, char***)’:
ush7.cpp:137: error: invalid …
Run Code Online (Sandbox Code Playgroud)

c c++ g++

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

标签 统计

c ×7

c++ ×6

embedded ×2

c89 ×1

g++ ×1

java ×1

linux ×1

systems-programming ×1