C++
正确的编程风格是否要求使用类或C
类似程序编写所有代码?如果我要向其他人提供一些代码,它会被接受,C++
因为它有std::vector
和std::string
(而不是char *
)内部,或者一切都必须是一个类?
例如:
int number = 204;
std::string result = my_procedure(number);
OR
MyClass machine;
std::string result = machine.get(number);
Run Code Online (Sandbox Code Playgroud)
是否存在程序员,将要或者被允许C
在他的某些源代码中具有类似程序的情况?你有没有做过那样的事情?
在这个问题的上下文中C
,C++
存在和存在之间的边界(如果有的话)?
我希望我的问题清楚,并符合规则.
Jon*_*Jon 10
在代码中拥有自由函数当然是可以的 - 这是建筑问题,而不是"++ ness".对于小型程序而言,使用类全部内容甚至没有意义,因为OO实际上是管理复杂性的工具.如果没有开始的复杂性,为什么要打扰?
你的第二个问题,在哪里画线,没有简短的答案.显而易见的是,在C标准与C++标准不同的所有地方绘制线.但是,如果您正在寻找C++具有的高级语言功能列表而C不具备,则以下是其中一些:
new
/ delete
管理记忆C++是一种多范式语言,其中OO,程序,泛型/生成以及 - 较小(但随着C++ 0x增加)范围的功能 - 都属于范例.您应该使用最适合问题的方法:您希望代码易于获取并保持正确,并且难以填充.
类的实用程序在于打包数据(状态)以及相关的功能.如果你的wordify
函数不需要在调用之间保留任何状态,那么就不需要使用类/对象.也就是说,如果你可以预测你很快就会想要拥有状态,那么从一个类开始可能是有用的,这样客户端代码就不需要改变了.
例如,假设向函数添加一个参数以指定输出是"第一","第二"而不是"一","两".您希望将行为设置一次并记住,但在应用程序的其他位置,某些其他代码也可能使用该功能,但更喜欢其他设置.最好使用一个对象来保存状态并对其进行排列,以便每个对象的生命周期和可访问性与将使用它的代码保持一致.
编辑:
在这个问题的上下文中,C和C++之间的边界在哪里(如果有的话)?
C++只是为您提供了更丰富的方法来解决您的编程任务,每个方法都有其必要的优缺点.很多时候,最好的方法仍然与在C中完成的方式相同.对于C++程序员来说,选择更糟糕的方式仅仅因为它只能用于C++是不合理的.尽管如此,这样的选择存在于无数级别,所以通常会说一个非[class-]成员函数接受一个const std::string&
参数,将过程函数调用与由a生成的面向对象数据相结合template
:它们一起工作得很好.