草庐IT

non-volatile

全部标签

c++ - volatile关键字有什么用?

C/C++中volatile关键字有什么用?声明变量volatile和不声明为volatile有什么区别? 最佳答案 变量上的volatile限定符告诉编译器,无论何时访问此变量,它的值都必须从内存中加载,并且编译器可能不会从它以前的存储中假设该值生效了。因此,当您遇到变量可能具有当前“执行线程”(广义上)无法预见的值的情况时,它是合适的。这包括:硬件寄存器信号处理程序中的状态变量之后使用的实时变量goto等意外跳转,switch/case,或者,更重要的是,setjmp/longjmp.volatile对于对访问未互斥的线程共享变

c++ - volatile关键字有什么用?

C/C++中volatile关键字有什么用?声明变量volatile和不声明为volatile有什么区别? 最佳答案 变量上的volatile限定符告诉编译器,无论何时访问此变量,它的值都必须从内存中加载,并且编译器可能不会从它以前的存储中假设该值生效了。因此,当您遇到变量可能具有当前“执行线程”(广义上)无法预见的值的情况时,它是合适的。这包括:硬件寄存器信号处理程序中的状态变量之后使用的实时变量goto等意外跳转,switch/case,或者,更重要的是,setjmp/longjmp.volatile对于对访问未互斥的线程共享变

c++ - C++中 volatile 成员函数的目的是什么?

C++中volatile成员函数的作用是什么? 最佳答案 要回答有关“volatile成员函数”意味着什么的问题(可能是也可能不是发布问题的人最初的意图),将成员函数标记为const或volatile(或组合的constvolatile)将这些限定符应用于函数中使用的this指针。如标准所述(9.2.1“this指针”):ThetypeofthisinamemberfunctionofaclassXisX*.Ifthememberfunctionisdeclaredconst,thetypeofthisisconstX*,ifthe

c++ - C++中 volatile 成员函数的目的是什么?

C++中volatile成员函数的作用是什么? 最佳答案 要回答有关“volatile成员函数”意味着什么的问题(可能是也可能不是发布问题的人最初的意图),将成员函数标记为const或volatile(或组合的constvolatile)将这些限定符应用于函数中使用的this指针。如标准所述(9.2.1“this指针”):ThetypeofthisinamemberfunctionofaclassXisX*.Ifthememberfunctionisdeclaredconst,thetypeofthisisconstX*,ifthe

c++ - 为什么我没有提供来自 volatile 的默认复制构造函数?

这段代码:classX{intmember;};volatileXa;Xb=a;因错误而失败:prog.cpp:6:7:error:nomatchingfunctionforcallto‘X::X(volatileX&)’prog.cpp:6:7:note:candidatesare:prog.cpp:1:7:note:X::X()prog.cpp:1:7:note:candidateexpects0arguments,1providedprog.cpp:1:7:note:X::X(constX&)prog.cpp:1:7:note:noknownconversionforargume

c++ - 为什么我没有提供来自 volatile 的默认复制构造函数?

这段代码:classX{intmember;};volatileXa;Xb=a;因错误而失败:prog.cpp:6:7:error:nomatchingfunctionforcallto‘X::X(volatileX&)’prog.cpp:6:7:note:candidatesare:prog.cpp:1:7:note:X::X()prog.cpp:1:7:note:candidateexpects0arguments,1providedprog.cpp:1:7:note:X::X(constX&)prog.cpp:1:7:note:noknownconversionforargume

c++ - volatile 和多线程 : is the following thread-safe?

假设有两个线程分别运行Thread1()和Thread2()。线程1只是设置了一个全局标志来告诉线程2退出,线程2会定期检查它是否应该退出。volatileboolis_terminate=false;voidThread1(){is_terminate=true;}voidThread2(){while(!is_terminate){//...}}我想问一下假设对is_terminate的访问是原子的,上述代码是否安全。我已经知道许多资料表明volatile通常不能确保线程安全。但是在只共享一个原子变量的情况下,真的需要用锁来保护共享变量吗? 最佳答案

c++ - volatile 和多线程 : is the following thread-safe?

假设有两个线程分别运行Thread1()和Thread2()。线程1只是设置了一个全局标志来告诉线程2退出,线程2会定期检查它是否应该退出。volatileboolis_terminate=false;voidThread1(){is_terminate=true;}voidThread2(){while(!is_terminate){//...}}我想问一下假设对is_terminate的访问是原子的,上述代码是否安全。我已经知道许多资料表明volatile通常不能确保线程安全。但是在只共享一个原子变量的情况下,真的需要用锁来保护共享变量吗? 最佳答案

javascript - GraphQL "Cannot return null for non-nullable"

这个问题在这里已经有了答案:WhydoesaGraphQLqueryreturnnull?(6个回答)关闭3年前。尝试制作我的第一个graphQL服务器,这是我目前所写的。https://gist.github.com/tharakabimal/7f2947e805e69f67af2b633268db0406当我尝试按用户名过滤用户时,GraphQL上会弹出以下错误。ErroronGraphQL错误发生在UserQueriesQL.js中的用户字段中。我在解析函数上传递参数的方式有什么问题吗?user:{type:UserType,args:{username:{name:'usern

javascript - GraphQL "Cannot return null for non-nullable"

这个问题在这里已经有了答案:WhydoesaGraphQLqueryreturnnull?(6个回答)关闭3年前。尝试制作我的第一个graphQL服务器,这是我目前所写的。https://gist.github.com/tharakabimal/7f2947e805e69f67af2b633268db0406当我尝试按用户名过滤用户时,GraphQL上会弹出以下错误。ErroronGraphQL错误发生在UserQueriesQL.js中的用户字段中。我在解析函数上传递参数的方式有什么问题吗?user:{type:UserType,args:{username:{name:'usern