当前位置:  开发笔记 > 编程语言 > 正文

提高C++与Python的相关能力

如何解决《提高C++与Python的相关能力》经验,为你挑选了1个好方法。

来自Python,我注意到C++中的东西往往有点复杂.一个很好的例子就是将数字提升到一个权力.在Python的数学库中,所需要的只是:

a = a**b

但是,在C++中我发现在线文档中的解释如.....

//float
pow( float base, float exp );
//double      
pow( double base, double exp );
//long double 
pow( long double base, long double exp );
//float
pow( float base, int iexp );
//double      
pow( double base, int iexp );
//long double 
pow( long double base, int iexp );
//promoted    
pow( Arithmetic1 base, Arithmetic2 exp );

显然,C++的创建者必须有很好的理由以这种方式实现,但作为一个新的程序员,这些原因使我望而却步.这是否为答案提供了更大的灵活性?在权力方面,我在C++中给出了哪些好处?



1> Turn..:

您找到的多个声明是C++具有静态类型与Python 动态类型的结果.在Python中,当你在一个值上调用一个函数时,它可以在运行时确定你是在整数,浮点数还是一些更复杂的对象上调用它并采取适当的操作.在C++中,您不能使用不同类型调用相同的函数,因此您必须为要支持的所有类型声明函数的不同版本.但是与C不同,您可以使用同名的函数,这些函数仅在参数签名方面有所不同(如Untitled123所指出的,这称为函数重载).这实际上使您的生活更轻松,因为您可以在pow(a,b)不必担心调用哪种特殊函数来调用您想要的类型(例如pow_float_int(a,b)或者pow_float_float(a,b)),编译器将根据参数的类型为您调用正确的版本.

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有