C++细节问题
in-Tree
先博后渊,择善而从
展开
-
C++中,对象作为函数参数的几种情况
Passing Objects to Functions (对象作为函数参数)Objects as Function Arguments (对象作为函数参数)You can pass objects by value or by reference. (对象作为函数参数,可以按值传递,也可以按引用传递)(1) Objects as Function Return Value(对象作为函数参数)// Pass by valuevoid print( Circle c ) { //作为函数参原创 2020-10-07 09:37:34 · 5093 阅读 · 1 评论 -
C++中,带有和不带有初始化器的if和switch语句的辨析与使用
带有初始化器的if和switch语句if and swtich Statement with an Initializer1. 带有初始化器的if语句if without an initializer (不带初始化器的if语句)int foo(int arg) { // do something return (arg);}int main() { auto x = foo(42); if (x > 40) { // do something with x原创 2020-10-05 22:09:23 · 184 阅读 · 0 评论 -
C语言中的new/delete与C++中的malloc/free 的区别?
new/delete 与 malloc/free 的区别是什么?malloc 与 free 是C++/C的标准库函数,new / delete 是C++的运算符,它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,只用 malloc / free 无法满足动态对象的要求。对象在创建的同时,要自动执行构造函数,对象在消亡之前要自动执行析构函数。而由于 malloc / free 是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于 malloc.原创 2020-10-05 10:52:36 · 377 阅读 · 0 评论