C++
文章平均质量分 52
c++
梓默
这个作者很懒,什么都没留下…
展开
-
extern “C“使用方法__演变过程
上面的例子,如果取消extern “C”,编译不会报错,因为C++支持函数重载,加上extern "C"后按照C语言的方式编译会提示重定义。一般将extern “C” {},放到头文件声明中,但在C环境中又不识别extern “C”;如果其他cpp文件调用c库时,又需要extern “C” {};Cpp文件,默认带有 #define __cplusplus。最终通过条件编译来解决同时在c,c++中使用的问题。c++无法按下面方法直接调用,会提示找不到函数。可以按照以下方式来调用。原创 2023-12-01 16:05:32 · 341 阅读 · 0 评论 -
编译错误提示
目录1.sorry, unimplemented: non-trivial designated initializers not supported 将C语言转换为C++代码时,发生如下错误1.sorry, unimplemented: non-trivial designated initializers not supported 将C语言转换为C++代码时,发生如下错误sorry, unimplemented: non-trivial designated initializers not su原创 2021-04-04 18:00:41 · 921 阅读 · 0 评论 -
3.3.2 函数的默认参数和占位参数 函数重载
1.默认参数原则都是从右往左给定默认参数2.占位参数3.函数重载函数名相同 参数列表不同函数互为函数重载函数返回值并不是构成函数重载的条件如果函数重载的话,不要写默认参数,为了避免函数调用冲突 int func(int a); char func(char a);//也是函数重载函数重载调用规则1)根据给定参数进行调用2)如果能够严格匹配参数列表 调用完全匹配的重载如果能够通过隐式转换匹配的也可以调用注: c语言中只要函数名相同都是重定义 会报错...原创 2020-12-03 00:20:04 · 114 阅读 · 0 评论 -
3 inline内联函数
inline函数与宏函数 减少内存开销1.inline函数特点:1)内联函数没有普通函数调用的额外开销(压栈,跳转,返回)2) 具有普通函数特征(参数检查,返回类型等)3)内联函数由编译器处理 宏定义由预处理器处理,进行简单的文本替换,没有语法检测2.inline函数限制1)不能存在任何形式的循环语句2)不能存在过多判断语句3)函数体不能过于庞大4)不能对函数进行取址操作3.inline函数总结优点:避免调用的额外开销代价:由于inline函数的函数体在代码段中会出现多个副本,因此原创 2020-12-02 23:46:37 · 109 阅读 · 0 评论