C++持续学习

8 篇文章 0 订阅
while (!pred()) wait(lck);当wait返回时,pred也要同时为true,不然会继续wait;如果pred刚开始就为true,那就不会进入wait
  • 声明了__attribute__((constructor))的函数会在main之前被调用,相当于是隐藏的、被动的程序入口
    void TestAttributeConstruct() __attribute__((constructor));
    void TestAttributeConstruct()
    {
        printf("TestAttributeConstruct\n");
    }
  • class A: public virtual B,
            public virtual C{
    }

public virtual继承的使用场景是,B和C都继承自D,D中的成员变量间接被A继续。当使用这些成员变量时,会出现命名冲突,不确定是使用B还是C继承的,加上public virtual之后,就只会保留一份 

  •  static_assert(std::is_base_of(A,B)::value,"B is not derived from A,compile fail"); 编译时判断B是否是A的派生类,若不是,则停止编译并输出预设的错误信息
  • class A : public std::enable_shared_from_this<A>的作用是,A会继承一个shared_from_this的成员函数,该函数会返回A所在的智能指针。这样在A的其他成员函数内部时,就可以获取自身的智能指针,而不会只能使用this原始指针

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值