- 博客(4)
- 收藏
- 关注
原创 C++操作符重载
delete 操作符的语法看起来与二元操作符(如 + )不同,原因在于 delete 是一个一元操作符,它的作用是释放对象的内存,而不是对对象进行操作。这里, delete 操作符直接作用于对象 x ,而不是通过对象调用成员函数。对于二元操作符(如 + 、 - 等),对象通常出现在操作符的前面,而对于一元操作符(如 delete 、 new 等),重载的方式会有所不同。4. 类内重载 delete 的实现细节在类内重载 delete 时,虽然它是类的成员函数,但它并不是通过对象直接调用的。
2025-01-23 00:48:58
553
原创 std::move 不进行移动
在c++定义中,将返回类型为右值引用的函数表达式的调用和转换为右值引用的转换表达式称作亡值,有点绕,重点是表达式是亡值不是别的什么。
2025-01-21 01:44:30
334
原创 非阻塞的connect函数
如果对方未响应,要隔6s,重发尝试,可能要等待75s的尝试并最终返回超时,才得知连接失败。即使是一次尝试成功,也会等待几毫秒到几秒的时间,如果此期间有其他事务要处理,则会白白浪费时间,而用非阻塞的connect 则可以做到并行,提高效率。:在一个TCP套接口被设置为非阻塞之后调用connect,connect (函数本身返回-1)会立即返回EINPROGRESS或EWOULDBLOCK错误,表示连接操作正在进行中,但是仍未完成;若失败,则可写可读,此时可以使用getsockopt获取错误信息。
2024-07-16 21:12:31
194
原创 pthread_cond_wait
是一个阻塞函数,它会将当前线程放入条件变量的等待队列中,并自动释放与之关联的互斥锁。当条件变量被其他线程用或唤醒后,会自动重新获取互斥锁,然后再返回。这个机制可以避免死锁,并确保线程在等待条件时不会阻塞其他线程对互斥锁的访问。然而,使用时要注意以下几个方面,以避免潜在的死锁和竞态条件。
2024-07-15 22:20:01
1932
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人