- 博客(28)
- 收藏
- 关注
原创 string CString char*
strlen量字符串长度。/0只是协助操作系统识别字符串结束,CString没有/0,但是会存储字符串长度。/0并不计入将字符串长度--16。sizeof单目运算符,绑定的是变量的类型。
2025-03-14 15:05:38
188
原创 Debug Release模式下编译器未定义行为
在 C++ 中,如果在类中声明了指针类型的成员变量但没有显式初始化它们,并且在 Release 模式下编译,编译器不会自动为指针赋予一个特定的初始值。2. **非静态指针变量**:对于在函数或类的非静态成员变量中声明的指针,如果没有显式初始化,它们的值是未定义的(unspecified),通常是随机的垃圾值。- **非静态指针变量**:在类的非静态成员变量中声明的指针,Debug 版本的编译器也可能会初始化为 `nullptr` 或者一些特定的标记值,以帮助开发者识别未初始化的指针。
2024-08-05 11:07:34
906
原创 C++返回对象
总结:函数返回对象,会进行深拷贝。返回引用或者指针则不会。无论在函数是member方法或者nonmember方法都一样。返回对象时,如果传入的参数是对象指针,则 会进行拷贝构造、等于构造、析构--why?
2024-05-31 15:00:52
250
原创 解决网络问题工具
2、wireshark 看字节,包头,srcip/mac dstip/mac,根据ip/包类型过滤,抓一段时间内的包。找出运行在指定端口的进程:netstat -an | grep ‘:80’列出所有监听TCP端口的socket:netstat -lt。列出所有监听UDP端口的socket:netstat -lu。列出所有处于监听状态的socket:netstat -l。列出所有的TCP端口:netstat -at。列出所有的UDP端口:netstat -au。列出所有端口:netstat -a。
2024-03-17 17:57:15
238
原创 linux网络编程
再次调用accept()可以接受下一个客户端的连接请求,并再次返回一个新的套接字(与socket()返回的套接字、之前accept()返回的套接字都不同的新的套接字)。TCP需要通过三次握手建立连接,第一次握手由客户端向服务端发起,客户端发起之前会申请一个socket结构,并请求与服务端进行connect连接,服务端会申请socket结构,并bind\listen,收到请求后connfd=accept(listenfd,sockaddr)用监听套接字accept客户端的连接请求,并返回连接套接字。
2024-03-17 13:12:45
725
原创 侯捷STL标准库->迭代器的设计原则和Iterator traits的概念与设计
2、对于class类型的iterator如何回答算法的问题。3、对于指针类型的iterator如何回答算法的问题。4、还有各式各样的traits以后介绍。1、迭代器回答的5个问题。
2024-03-15 20:51:12
214
原创 侯捷C++下->class && function && member template
用子类对象初始化父类,来保证你新建的这个模板类,满足向上继承。必须是子类对象或者父类对象才可以初始化模板类。
2024-03-15 11:22:42
202
原创 侯捷C++->point && function like classes
智能指针里面一定包括一个普通指针,完成比普通指针更多的功能。1、point like classes 智能指针。
2024-03-14 22:11:58
190
原创 深入理解计算机系统查漏补缺
9.链接器如何解析引用:一个可重定位目标文件的集合 E,一个未解析的符号 (即引用了但尚未定义的符号) 集合 U,已定义的符号集合 D。在命令行中,如果定义一个符号的库出现在引用这个符号的目标文件前,引用就不能被解析,链接会失败。一般把库放在命令行的结尾。如果库之间相互依赖,则依赖者在前,被依赖者在后。如果双向引用,可以在命令行上重复库。10位,-20亿~20亿;7.汇编语言实现数据结构的存储和访问,条件控制语句的跳转。程序计数器,一个字,存储下一条指令的地址。预处理器,编译器,汇编器,链接器。
2023-09-15 16:30:52
104
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人