草庐IT

atomic_bool

全部标签

c++ - 为什么 C++ 不会打印 char 的内存地址,但会打印 int 或 bool?

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:Whyisaddressofchardatanotdisplayed?这是代码和输出:intmain(intargc,char**argv){boola;boolb;cout输出:a:0x28ac67的地址b的地址:0x28ac66c:0x28ac60的地址d:0x28ac5c的地址e的地址:我的问题是:char的内存地址在哪里?为什么不打印?谢谢。 最佳答案 C/C++中的字符串可以用char*表示,与&e的类型相同。所以编译器认为你正在尝试打印一个字符串

c++ - 为什么 C++ 不会打印 char 的内存地址,但会打印 int 或 bool?

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:Whyisaddressofchardatanotdisplayed?这是代码和输出:intmain(intargc,char**argv){boola;boolb;cout输出:a:0x28ac67的地址b的地址:0x28ac66c:0x28ac60的地址d:0x28ac5c的地址e的地址:我的问题是:char的内存地址在哪里?为什么不打印?谢谢。 最佳答案 C/C++中的字符串可以用char*表示,与&e的类型相同。所以编译器认为你正在尝试打印一个字符串

c++ - 如何覆盖 C++ 类中的 bool 运算符?

我在C++中定义了一个ReturnValue类,它需要报告方法是否成功。我希望类的对象在成功时评估为true,在错误时评估为false。我应该重写哪个运算符来控制我的类的真实性? 最佳答案 简单的答案是提供operatorbool()const,但您可能需要查看safeboolidiom,而不是转换为bool(这可能又会隐式转换为其他整数类型),而是转换为不接受这些转换的不同类型(指向私有(private)类型的成员函数的指针)。 关于c++-如何覆盖C++类中的bool运算符?,我们在

c++ - 如何覆盖 C++ 类中的 bool 运算符?

我在C++中定义了一个ReturnValue类,它需要报告方法是否成功。我希望类的对象在成功时评估为true,在错误时评估为false。我应该重写哪个运算符来控制我的类的真实性? 最佳答案 简单的答案是提供operatorbool()const,但您可能需要查看safeboolidiom,而不是转换为bool(这可能又会隐式转换为其他整数类型),而是转换为不接受这些转换的不同类型(指向私有(private)类型的成员函数的指针)。 关于c++-如何覆盖C++类中的bool运算符?,我们在

C++ 标准 : can relaxed atomic stores be lifted above a mutex lock?

标准中是否有任何措辞保证对原子的宽松存储不会被提升到互斥锁的锁定之上?如果没有,是否有任何措辞明确表示编译器或CPU这样做是符合犹太教规的?例如,采用以下程序(它可能使用acq/rel来处理foo_has_been_set并避免锁定,和/或使foo本身原子化。它是这样写的来说明这个问题。)std::mutexmu;intfoo=0;//Guardedbymustd::atomicfoo_has_been_set{false};voidSetFoo(){mu.lock();foo=1;foo_has_been_set.store(true,std::memory_order_relaxe

C++ 标准 : can relaxed atomic stores be lifted above a mutex lock?

标准中是否有任何措辞保证对原子的宽松存储不会被提升到互斥锁的锁定之上?如果没有,是否有任何措辞明确表示编译器或CPU这样做是符合犹太教规的?例如,采用以下程序(它可能使用acq/rel来处理foo_has_been_set并避免锁定,和/或使foo本身原子化。它是这样写的来说明这个问题。)std::mutexmu;intfoo=0;//Guardedbymustd::atomicfoo_has_been_set{false};voidSetFoo(){mu.lock();foo=1;foo_has_been_set.store(true,std::memory_order_relaxe

c++ - boost中的安全 bool 成语?

boost库是否提供了安全bool习惯用法的实现,以便我可以从中派生我的类?如果是-它在哪里?如果不是-除了我自己实现之外,我还有哪些选择?我发现了以下类似的问题:“Isthereasafeboolidiomhelperinboost?”并且接受的答案建议使用bool_testable在Boost.Operators.不幸的是,当我查看boostmanual我在那里找不到。使用它的代码也无法编译。我还偶然发现了另一个SO问题“Wasboost::bool_testablerelocatedorremoved?”,那里的评论表明bool_testable实际上从未制作过任何版本的boos

c++ - boost中的安全 bool 成语?

boost库是否提供了安全bool习惯用法的实现,以便我可以从中派生我的类?如果是-它在哪里?如果不是-除了我自己实现之外,我还有哪些选择?我发现了以下类似的问题:“Isthereasafeboolidiomhelperinboost?”并且接受的答案建议使用bool_testable在Boost.Operators.不幸的是,当我查看boostmanual我在那里找不到。使用它的代码也无法编译。我还偶然发现了另一个SO问题“Wasboost::bool_testablerelocatedorremoved?”,那里的评论表明bool_testable实际上从未制作过任何版本的boos

c++ - sig_atomic_t 和 std::atomic<> 可以互换吗?

根据标题。我可以使用std::atomic在信号处理程序中或执行sig_atomic_t提供其他编译器功能? 最佳答案 n33761.9/6Whentheprocessingoftheabstractmachineisinterruptedbyreceiptofasignal,thevaluesofobjectswhichareneither—oftypevolatilestd::sig_atomic_tnor—lock-freeatomicobjects(29.4)areunspecifiedduringtheexecutiono

c++ - sig_atomic_t 和 std::atomic<> 可以互换吗?

根据标题。我可以使用std::atomic在信号处理程序中或执行sig_atomic_t提供其他编译器功能? 最佳答案 n33761.9/6Whentheprocessingoftheabstractmachineisinterruptedbyreceiptofasignal,thevaluesofobjectswhichareneither—oftypevolatilestd::sig_atomic_tnor—lock-freeatomicobjects(29.4)areunspecifiedduringtheexecutiono