From 3f3d2f4583c3a37a6ae2b1f4d8a718fd53a10cc4 Mon Sep 17 00:00:00 2001 From: EziosWJ <40160933+EziosWJ@users.noreply.github.com> Date: Sat, 24 Jan 2026 07:46:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E9=94=99=E8=AF=AF=EF=BC=9A?= =?UTF-8?q?=E4=B8=8D=E5=A6=82=E6=94=B9=E4=B8=BA=E6=AF=94=E5=A6=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\243CC++\344\270\255\347\232\204\346\214\207\351\222\210.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/articles/C++\345\277\205\347\237\245\345\277\205\344\274\232\347\232\204\347\237\245\350\257\206\347\202\271/\346\267\261\345\205\245\347\220\206\350\247\243CC++\344\270\255\347\232\204\346\214\207\351\222\210.md" "b/articles/C++\345\277\205\347\237\245\345\277\205\344\274\232\347\232\204\347\237\245\350\257\206\347\202\271/\346\267\261\345\205\245\347\220\206\350\247\243CC++\344\270\255\347\232\204\346\214\207\351\222\210.md" index 0cdafc9..53c3f41 100644 --- "a/articles/C++\345\277\205\347\237\245\345\277\205\344\274\232\347\232\204\347\237\245\350\257\206\347\202\271/\346\267\261\345\205\245\347\220\206\350\247\243CC++\344\270\255\347\232\204\346\214\207\351\222\210.md" +++ "b/articles/C++\345\277\205\347\237\245\345\277\205\344\274\232\347\232\204\347\237\245\350\257\206\347\202\271/\346\267\261\345\205\245\347\220\206\350\247\243CC++\344\270\255\347\232\204\346\214\207\351\222\210.md" @@ -227,7 +227,7 @@ C++中不仅有指针的概念,而且还存在一个**引用**的概念,看 > 如果变量类型是基元数据类型(基础数据类型),比如int、float、bool、char等小数据类型被称为基元数据类型(primitive data type),那么赋值时传的是值。也就是说,这个时候b的值是a的拷贝,那么更改b不会影响到a,同理更改a也不会影响到b。 -> 但是,如果变量类型是复杂数据类型(complex data type),不如数组、类对象,那么赋值时传的就是引用,这个时候,a和b指向的都是同一块内存区域,那么无论更改a或者b都会相互影响。 +> 但是,如果变量类型是复杂数据类型(complex data type),比如数组、类对象,那么赋值时传的就是引用,这个时候,a和b指向的都是同一块内存区域,那么无论更改a或者b都会相互影响。 让我们来深入地分析下,为什么各大语言都采取这种机制。对于那些基元数据类型,由于数据本身占用的内存空间就小,这样复制起来不仅速度快,即使这样的变量数目很多,总共也不会占多大空间。但是对于复杂数据类型,比如一些类对象,它们包含的属性字段就很多,占用的空间就大,如果赋值时,也是复制数据,那么一个两个对象还好,一旦多一点比如10个、100个,会占很大的内存单元的,这就导致效率的下降。