- 博客(13)
- 收藏
- 关注
原创 C++ 右值引用
当一个对象即将被销毁或移动到另一个对象时,可以将其标记为右值引用,以便在移动操作中直接转移资源而不进行深拷贝。需要注意的是,在将对象标记为右值引用后,原对象的状态将会改变,不可再继续使用。左值引用:平时说的引用就是左值引用,左值引用就是为一个左值对象取别名。左值:既可以位于赋值运算符的左边也可以位于赋值运算符的右边,当在赋值运算符的左边时,用的是对象或者表达式在内存中的位置。右值引用是C++11中引入的一种新的引用类型,通过将对象标记为右值引用,可以实现移动语义并避免不必要的拷贝。移动到函数内部的对象中。
2024-05-21 21:10:36 528 1
原创 Windows串口通信
用于指定串口设备通信的数据传输速率,它可以是实际的数据传输速率数值,也可以是下列数据之一:CBR_110, CBR_19200, CBR_300, CBR_38400, CBR_600, CBR_56000, CBR_1200, CBR_57600, CBR_2400, CBR_115200, CBR_4800, CBR_12800, CBR_9600, CBR_25600, CBR_14400。对于文件来说,有可能具有很多属性,但对于串口,唯一有意义的设置是FILE_FLAG_OVERLAPPED。
2024-05-12 14:35:38 1665
原创 位操作运算
在计算机中,CPU对数据进行操作都是对二进制数据进行操作。例如以下代码int a = 4;int b = 5;实际上在CPU中是以二进制数据进行操作,所以在代码中使用位运算符能够提高代码执行效率。
2023-12-21 19:59:14 60 1
原创 C++异常详细介绍
什么是异常?异常就是程序运行过程中出现问题,例如除数等于0等。在出现异常之后,我们可以用异常处理技术通过写程序来解决出现的异常问题,大多数情况下,可以通过写代码处理异常使得程序像没发什么过什么问题一样继续执行,或者遇到重大问题使程序不能执行,也可以发出警示或者提醒用户,然后终止程序。异常处理技术,使我们能够编写更健壮、更具容错性的程序,能处理发生的问题使程序继续执行,或者优雅地终止。但是异常安全是一个复杂的工作,要用好异常还是有一定挑战性,所以有时候也用错误码来处理。
2023-11-21 22:41:13 86 1
原创 C++回调函数
总结起来,回调函数是一种通过将一个函数作为参数传递给另一个函数,并在特定事件发生时被调用的编程技术。它提供了一种灵活的方式来处理异步操作(再看)编程需求。
2023-11-14 21:34:39 63 1
原创 C++ 强制类型转换
最后的结尾引用C++经典书籍对于强制转换的总结。强制类型转换干扰了正常的类型检查,因此我们强烈建议程序员避免使用强制类型转换。这个建议对于reinterpret cast 尤其适用,因为此类类型转换总是充满了风险。其他强制类型转换,比如 static cast 和dynamic cast,都不应该频繁使用。每次书写了一条强制类型转换语句,都应该反复斟酌能否以其他方式实现相同的目标。就算实在无法避免,也应该尽量限制类型转换值的作用域,并且记录对相关类型的所有假定,这样可以减少错误发生的机会。
2023-10-25 02:15:00 1013 1
原创 学习笔记—设计模式(1)—简单工厂模式
设计模式在C++里面更重要的是一种思想,什么思想呢?我觉得是充分运用面向对象的封装,抽象,多态,继承这几大特性去提高代码的复用性,灵活性,去降低整个程序中各个模块组件之间的耦合度。但是,我觉得这种思想在没有完全掌握,完全的理解之前,如果生搬硬套的使用设计模式,反而会事与愿违,增加工作量。暂时就想到这些,以后有新的理解,再回来补上。
2023-08-11 00:01:40 99 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人