摘要: memcpy与memmove的目的都是将N个字节的源内存地址的内容拷贝到目标内存地址中。 但当源内存和目标内存存在重叠时,memcpy会出现错误,而memmove能正确地实施拷贝,但这也增加了一点点开销。 memmove的处理措施: (1)当源内存的首地址等于目标内存的首地址时,不进行任何拷贝 (2 阅读全文
posted @ 2020-07-06 23:14 鸭子船长 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 1、C++标准规定类的大小不为0,空类的大小为1,当类不包含虚函数和非静态数据成员时,其对象大小也为1。 2、四种cast: reinpreter_cast用法:reinpreter_cast<type-id> (expression) type-id必须是一个指针、引用、算术类型、函数指针或者成员 阅读全文
posted @ 2020-07-06 23:00 鸭子船长 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 编译与链接有四个过程: (1)预处理 (2)编译 (3)汇编 (4)链接 (1)预处理源文件和头文件被预处理成一个.i文件、(-E表示只进行预处理) g++ -E hello.cpp -o hello.i -E:意味着只执行到预编译,直接输出预编译结果。 预处理过程主要处理那些源文件中的以“#”开始 阅读全文
posted @ 2020-07-06 22:57 鸭子船长 阅读(1107) 评论(0) 推荐(0) 编辑