null-pointer

    3热度

    3回答

    (C++/Qt)我有一个指向QObject的智能指针。让我们说一个QWeakPointer。对于某些外部原因(可能发生在另一个对象或事件中的事情),可能会损坏指向的对象。因为我有一个智能指针,所以没有悬挂参考,所以没有问题。但我总是必须检查指针是否为空。 我想使用空模式,以避免检查这一切,但我不知道这是可能的或方便与QObject。这个想法是,指针指向对象,并在它被破坏的情况下,智能指针将其指向的

    19热度

    3回答

    void foo (const std::string &s) {} int main() { foo(0); //compiles, but invariably causes runtime error return 0; } 编译器(克++ 4.4)显然解释0如char* NULL,并通过调用string::string(const char*, const A

    2热度

    2回答

    我想检查一个实体是否存在于给定的链表中。这是我的代码: bool LinkedList::existByID(int ID) { //create node to search through the list Node * helpNode; //start it at the top of the list helpNode = head; if (head == NULL)

    10热度

    3回答

    我重写onCreateDialog和onPrepareDialog方法或Dialog类。 我遵循了Reto Meier的专业Android应用程序开发书第5章中的示例来拉取一些XML数据,然后使用对话框显示信息。 我已经基本跟随它到底,但改变了变数适合我自己的XML架构如下: @Override public Dialog onCreateDialog(int id) { switch

    31热度

    3回答

    如果您在对象(指针)上调用nil方法(可能是因为某人忘记初始化它),Objective-C中的正常行为是什么?它不应该产生某种错误(分段错误,空指针异常...)? 如果这是正常行为,是否有改变此行为(通过配置编译器)的方法,以便程序在运行时引发某种错误/异常? 为了更清楚我在说什么,下面是一个例子。 有了这个类: @interface Person : NSObject { NSStr

    12热度

    5回答

    int& fun() { int * temp = NULL; return *temp; } 在上面的方法中,我试图做一个NULL指针的解除引用。当我调用这个函数时,它不会例外。我发现什么时候返回类型是通过引用它不会给出例外,如果它的价值,那么它的确如此。即使将NULL指针的解引用分配给引用(如下面的行),它也不会给出。 int* temp = NULL: int&

    28热度

    2回答

    我知道delete荷兰国际集团一个空指针是一个空操作: 在任一替代方案中,如果删除的操作数的值是空指针的操作没有任何影响。 (C++标准5.3.5 [expr.delete] p2) 而且还在删除void*指针是未定义的行为,因为由于没有void类型的对象的析构函数不能被称为: 在第一种替代方案(delete object)中,删除操作数的值应为指向非数组对象的指针或指向表示此类对象的基类的子对象

    0热度

    2回答

    所以,我有以下的精神因缘规则体: base_rule = eps(_r1 != 0) [ // _r1 is a pointer_typed placeholder eps ] ; 这导致了相当长的错误 /opt/dev_64_swat/Boost/include/boost/spirit/home/phoenix/operator/comparison.hp

    1热度

    2回答

    TiXmlElement *pElem; std::string StatusResponse; pElem = hResponse.FirstChild("StatusResponse").Element(); if (pElem) StatusResponse = pElem->GetText(); 如果pElem是有效的,但该元素不包含文本,pElem->GetTex

    6热度

    4回答

    可能重复: Is there any reason to check for a NULL pointer before deleting? 我经常看到以下代码: if(pointer) delete pointer; 我的理解它是安全的删除空指针,那么这个检查的重点是什么?