草庐IT

Out-Null

全部标签

c++ - 如何创建 NULL/空 DACL?

我需要向所有人授予我正在创建的命名管道的访问权限。我知道这样做的方法是创建一个NULL/空DACL并将其传递给CreateNamedPipe。如何创建NULLDACL?有人告诉我,这与为LPSECURITY_ATTRIBUTES传递NULL指针不同。 最佳答案 像这样:SECURITY_DESCRIPTORSD;InitializeSecurityDescriptor(&SD,SECURITY_DESCRIPTOR_REVISION);SetSecurityDescriptorDacl(&SD,TRUE,NULL,FALSE);为了

c++ - 使用 IOCP 时,我应该将 WSAOVERLAPPED 的 hEvent 设置为 NULL 还是 WSAEVENT 对象的有效句柄?

根据MSDN:hEvent:IfanoverlappedI/OoperationisissuedwithoutanI/Ocompletionroutine(theoperation'slpCompletionRoutineparameterissettonull),thenthisparametershouldeithercontainavalidhandletoaWSAEVENTobjectorbenull.当我使用IOCP时,当我调用WSASend()或WSARecv()时,我将NULL传递给它们的最后一个参数(即lpCompletionRoutine):WSASend(pIoRe

c++ - 有人可以打破这条线 gcc -E -dM - </dev/null

刚刚遇到这个让我惊呆了的人:gcc-E-dM-这部分让我感到困惑:- 最佳答案 这给出了gcc中所有预定义宏的列表。-E表示运行预处理器。-dM表示从预处理器中转储预定义的宏。-用于从标准输入读取,而/dev/null仅提供一个空源文件。 关于c++-有人可以打破这条线gcc-E-dM- https://stackoverflow.com/questions/1529051/

c++ - NULL 指针与 static_cast 的兼容性

Q1。为什么在static_cast中使用NULL指针会导致崩溃,而dynamic_cast和reinterpret_cast会返回NULL指针?问题发生在类似于下面给出的方法中:voidA::SetEntity(B*pEntity,intiMyEntityType){switch(iMyEntityType){caseENTITY1:{Set1(static_cast(pEntity));return;}caseENTITY2:{Set2(static_cast(pEntity));return;}caseENTITY3:{Set3(static_cast(pEntity));ret

Springboot在编写CRUD时,访问对应数据函数返回null

1.我遇到了什么问题我在学习springboot,其中在编写CRUD时发现访问数据的函数执行下去返回值是null但是其它部分正常。下面是我的错误代码pojopublicclassBot{@TableId(type=IdType.AUTO)privateIntegerid;privateIntegeruser_id;privateStringname;privateStringdescription;privateStringcontent;privateIntegerrating;@JsonFormat(pattern="yyyy-MM-ddHH:mm:ss")privateDatecreat

c++ - std::ofstream == NULL 不会为 -std=gnu++11 编译,任何解决方法?

考虑以下代码:std::ostreamfile;if(file==NULL)std::cout它在通过-std=gnu11(GCC5.2的默认值)或仅使用时完美编译gcccode.cpp-oa.out.不过,-std=gnu++11失败了:nomatchfor‘operator==’(operandtypesare‘std::ofstream{akastd::basic_ofstream}’and‘longint’)`最简单的解决方法是什么?详细信息:我必须使用std=gnu++11才能访问shared_ptr定义。此外,我的一些代码是自动生成的,修改生成器会付出合理的努力-所以我想知

c++ - "factor out"公共(public)字段有什么办法可以节省空间?

我有一个大数组(>数百万)Item,其中每个Item都具有以下形式:structItem{void*a;size_tb;};有一些不同的a字段——这意味着有许多项具有相同的a字段。我想“分解”这些信息以节省大约50%的内存使用量。但是,问题在于这些Item具有重要的顺序,并且可能会随着时间的推移而改变。因此,我不能继续为每个不同的a创建一个单独的Item[],因为那样会丢失项目之间的相对顺序。另一方面,如果我存储size_tindex;字段中所有项目的顺序,那么我将失去因删除void*a;字段。那么有没有办法让我在这里真正节省内存,或者没有?(注意:我已经可以想到例如使用unsigne

c++ - 与零长度参数一起使用的 memset : ignore or watch out?

在链接动态库时,我无法找到有关以下警告的任何信息:Infunction`MyClass::myfunc()':MyClass.cpp:(.text+0x14e4):warning:memsetusedwithconstantzerolengthparameter;thiscouldbeduetotransposedparameters这是myfunc的摘录:voidMyClass::myfunc(){vector::const_iteratorit;for(it=m_vars.begin();it!=m_vars.end();++it){if((*it)->recordme){MyRe

C++引用、内联函数、auto关键字介绍以及C++中无法使用NULL的原因

文章目录一、引用1.1引用概念1.2引用特性1.3常引用1.4使用场景1.4.1做参数1.4.2做返回值1.5引用和指针的区别1.6小结一下二、内联函数2.1内联的概念2.2内联的特性2.3【面试题】三、auto关键字(C++11)3.1类型别名思考3.2auto简介四、auto的使用细则4.1基于范围的for循环(C++11)4.2范围for的使用条件五、指针空值nullptr(C++11)一、引用1.1引用概念C++是C语言的继承,它可进行过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。引用(reference)就是C+

c++ - 为什么我在声明中说 int *p = NULL ,但在测试中说 p != NULL ,为什么 *p != NULL 不匹配声明?

在C++中,如果我们将指针值赋给NULL,为什么不要我们检查*p!=NULL而不是p!=NULL?我在教程中找到了这段代码。int*p=NULL;char*q=NULL;//...if(p!=NULL)cout提前致谢 最佳答案 *正在做两件不同的事情。当您声明变量时,这意味着该变量是一个指针。当您使用变量时,它意味着“取消引用”,即获取指针指向的位置的值。两种完全不同的含义。 关于c++-为什么我在声明中说int*p=NULL,但在测试中说p!=NULL,为什么*p!=NULL不匹配声