page contents
Nen
Nen - 程序员

性别: 天津 - 天津市 注册于 2021-06-23

向TA求助
2850金币数
43180 经验值
1个粉丝
主页被访问 6244 次

3096 个回答

0 赞同

一个参数可以既是const又是volatile吗?

可以,用const和volatile同时修饰变量,表示这个变量在程序内部是只读的,不能改变的,只在程序外部条件变化下改变,并且编译器不会优化这个变量。每次使用这个变量时,都要小心地去内存读取这个变量的值,而不是去寄存器读取它的备份。 注意:在此一定要注意const的意思,const只是不允许程序中的代码改变某一变量,其在...

回答于 2021-12-31 13:40

0 赞同

全局变量和局部变量有什么区别?操作系统和编译器是怎么知道的?

全局变量是整个程序都可访问的变量,谁都可以访问,生存期在整个程序从运行到结束(在程序结束时所占内存释放); 而局部变量存在于模块(子程序,函数)中,只有所在模块可以访问,其他模块不可直接访问,模块结束(函数调用完毕),局部变量消失, 所占据的内存释放。 操作系统和编译器,可能是通过内存分配的位置来知...

回答于 2021-12-31 13:36

0 赞同

简述strcpy、sprintf 与memcpy 的区别?

操作对象不同,strcpy 的两个操作对象均为字符串,sprintf 的操作源对象可以是多种数据类型, 目的操作对象是字符串,memcpy 的两个对象 就是两个任意可操作的内存地址,并不限于何种数据类型。 执行效率不同,memcpy 最高,strcpy 次之,sprintf 的效率最低。 实现功能不同,strcpy 主要实现字符串变量间的拷贝,sprint...

回答于 2021-12-31 13:35

0 赞同

对于一个频繁使用的短小函数,应该使用什么来实现?有什么优缺点...

应该使用inline内联函数,即编译器将inline内联函数内的代码替换到函数被调用的地方。 优点: 在内联函数被调用的地方进行代码展开,省去函数调用的时间,从而提高程序运行效率; 相比于宏函数,内联函数在代码展开时,编译器会进行语法安全检查或数据类型转换,使用更加安全; 缺点: 代码膨胀,产生更多的开销;...

回答于 2021-12-31 11:59

0 赞同

什么是智能指针?智能指针有什么作用?分为哪几种?各自有什么样...

智能指针是一个RAII类模型,用于动态分配内存,其设计思想是将基本类型指针封装为(模板)类对象指针,并在离开作用域时调用析构函数,使 用delete删除指针所指向的内存空间。 智能指针的作用是,能够处理内存泄漏问题和空悬指针问题。 分为auto_ptr、unique_ptr、shared_ptr和weak_ptr四种,各自的特点: 对于auto_ptr...

回答于 2021-12-31 11:56

0 赞同

shared_ptr是如何实现的?

1. 构造函数中计数初始化为1; 2. 拷贝构造函数中计数值加1; 3. 赋值运算符中,左边的对象引用计数减1,右边的对象引用计数加1; 4. 析构函数中引用计数减1; 5. 在赋值运算符和析构函数中,如果减1后为0,则调用delete释放对象

回答于 2021-12-31 11:54

0 赞同

右值引用有什么作用?

右值引用的主要目的是为了实现转移语义和完美转发,消除两个对象交互时不必要的对象拷贝,也能够更加简洁明确地定义泛型函数

回答于 2021-12-31 11:48

0 赞同

Vue3.0有什么更新

(1)监测机制的改变 3.0 将带来基于代理 Proxy的 observer 实现,提供全语言覆盖的反应性跟踪。 消除了 Vue 2 当中基于 Object.defineProperty 的实现所存在的很多限制: (2)只能监测属性,不能监测对象 检测属性的添加和删除; 检测数组索引和长度的变更; 支持 Map、Set、WeakMap 和 WeakSet。 (3)模板 作用...

回答于 2021-12-30 15:20

0 赞同

defineProperty和proxy的区别?

Vue 在实例初始化时遍历 data 中的所有属性,并使用 Object.defineProperty 把这些属性全部转为 getter/setter。这样当追踪数据发生变化时, setter 会被自动调用。 Object.defineProperty 是 ES5 中一个无法 shim 的特性,这也就是 Vue 不支持 IE8 以及更低版本浏览器的原因。 但是这样做有以下问题: 1. 添加或删除对...

回答于 2021-12-30 15:19

0 赞同

C和C++有什么区别?

C++是面向对象的语言,而C是面向过程的语言; C++引入new/delete运算符,取代了C中的malloc/free库函数; C++引入引用的概念,而C中没有; C++引入类的概念,而C中没有; C++引入函数重载的特性,而C中没有

回答于 2021-12-30 15:18