我在看我是否投出了malloc的结果?并且看起来你不应该将结果转换为纯c代码,因为它可能隐藏错误并且是多余的.但我也看到人们说c ++需要强制转换,所以所有c库都应该转换malloc的结果,因为它们可以真实地用在c ++项目中吗?
你似乎不应该将结果转换为纯c代码,因为它可能会隐藏错误并且是多余的
那是正确的.
不应该所有c库都转换malloc的结果,因为它们可以实际用于c ++项目吗?
不可以.AC库可以在C++项目中使用,但仍然可以编译为C.
不.如果它是C代码,它应该被编译为C,而不是C++,因此编译器将允许隐式转换void*为其他指针.
只有当malloc你需要在C++代码中使用它时 - 它在我看来是一个"难闻的气味" - 换句话说,一个标志,代码应该现代化使用new或vector沿着这些线的东西.(当然,这样做是有正当理由的 - 例如,你可能有大约10k行的有用代码,你需要在其他东西中使用C++框架 - 但通常,最好的方法是编写一些C++绑定到那些10k行并继续编译为C)