小红书C++搜推工程面经|引用占用内存吗

1、C++ 中四种 cast 分别怎么用

2、new 关键字,失败会发生什么

3、weak_ptr 和 share_ptr get 的原始指针一样吗

std::weak_ptr::lock() 和 std::shared_ptr::get()

4、select poll epoll 中 socket 是阻塞的吗

一般来说最好设置为非阻塞,[参考](https://xiaolincoding.com/os/8_network_system/selete_poll_epoll.html)

5、多线程中的同步情况

6、C++ 11 新特性

7、指针和引用的区别,引用会占用内存吗

8、[算法] 删除链表倒数第 n 个节点,有哪些易错点

---
C++ 引用会占用内存吗,这个问题我看有的说占内存(引用底层是指针常量),有的说不占(引用就是别名),所以到底占不占啊
#小红书##小红书面经##C++面经#
全部评论
就C++语言层面来说,引用就是不占用空间的,但是确实占用代码空间,然而单独讨论引用占用代码段空间没有意义,引用不一定被编译成指针,可能会被编译成地址偏移,寄存器之类的,依据优化和编译器可能会是1,2,3,4等字节,是不定长的。但一个结构体里定义引用,引用就有可能是指针,引用占据的空间大小是未定义的和c++的求值顺序属于一类问题
12 回复 分享
发布于 2023-06-05 11:09 江苏
调试模式下,参数传递引用和传指针的汇编是一样的,都是将地址入栈,所以从底层来看引用还是占据内存的
4 回复 分享
发布于 2023-06-06 12:42 重庆
啥时候面得
点赞 回复 分享
发布于 2023-06-05 09:54 广东
weak_ptr 和 share_ptr get 的原始指针是一样吗
点赞 回复 分享
发布于 2023-06-05 20:29 湖北
引用我记得是占用的吧,实际是个const ptr
点赞 回复 分享
发布于 2023-06-16 16:16 陕西
学长好,请问这个岗位有后续吗
点赞 回复 分享
发布于 04-17 16:54 新加坡

相关推荐

12-20 13:52
中北大学 Java
点赞 评论 收藏
分享
1. std::vector的insert()与push_back()的区别是什么?2. unique_ptr底层是如何实现资源管理的?3. C++中的重载与覆盖的原理是什么?4. 一个类的默认构造函数中会包含哪些内容?5. virtual关键字用在哪里?有什么作用?6. 类的成员函数的调用顺序是什么?7. C++中的引用占用的内存大小是多少?8. 什么是悬空指针和内存泄漏?如何避免它们?9. free和delete的区别是什么?10. 多线程编程中可能会遇到哪些问题?如何进行线程同步?11. 什么是C++标准库(STL)?12. 迭代器和索引访问的区别是什么?13. 线程的生命周期有哪些状态,锁的种类有哪些?14. 解释一下std::map和std::unordered_map的区别。15. std::vector的resize()和reserve()有什么不同、以及使用场景?16. 如何实现线程安全,除了使用互斥锁还有哪些方法?17. std::vector扩容时,resize和push_back的区别是什么?18. std::vector扩容时为了避免频繁扩容采取了哪些策略?19. C++中空结构体的大小是多少?20. shared_ptr是如何管理资源的?21. 虚析构函数的底层实现原理是什么?22. 一个函数g(int x, int y),其中x和y的地址关系是什么?23. 移动赋值和拷贝赋值的区别是什么?24. lambda表达式中的捕获方式有哪些?引用捕获时需要注意什么?25. 处理哈希冲突的常见方法有哪些?26. std::unordered_map的扩容机制是怎样的?27. std::vector如何判断是否需要扩容?(size与capacity的关系)28. 构造函数可以被声明为override吗?为什么?29. 类中的静态成员函数可以是虚函数吗?30. 哪些成员函数不能被声明为虚函数?31. 如何确保一个类的实例只能在堆上创建?(私有构造函数、单例模式)32. 请解释你理解的虚继承。33. C++中哪些运算符无法被重载?34. 静态链接和动态链接的区别,动态链接的机制是什么?35. C++中如何调用C语言编写的函数?答案附在面经中  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
点赞 评论 收藏
分享
评论
5
94
分享
牛客网
牛客企业服务