小编new*_*wID的帖子

为什么(0> v.size() - 1)对空向量求值为false?

我正在使用vector做某事并发现以下条件被评估为false,这是我无法理解的.

代码如下:

#include "stdio.h"
#include <vector>

using namespace std;

int main()
{
   // an empty vector
   vector<int> v;

   // print 0
   printf ("size of the vector is %d \n", v.size());

   // the condition is false, why?
   if (0 > v.size()-1) {
       printf ("it should occur \n");
   }
}
Run Code Online (Sandbox Code Playgroud)

c++ vector

3
推荐指数
1
解决办法
278
查看次数

通过用sed剪切最后一列获得意外结果

echo '60 test' | sed -r 's/(.*)\s+[^\s]+$/\1/'
Run Code Online (Sandbox Code Playgroud)

结果:

60测试

最后一列不删减。但它与

echo '60 home' | sed -r 's/(.*)\s+[^\s]+$/\1/'
Run Code Online (Sandbox Code Playgroud)

结果:

60

为什么?

regex linux sed

3
推荐指数
1
解决办法
133
查看次数

通过C++中的指针在对象之间共享数据

我有几个通过指针共享数据的对象.指针参数是在构造函数中发送的,如下所示.

class A
{
public:
    Shared* pB = new Shared();
    User* object1 = new User(pB);
    User* object2 = new User(pB);
}

class User
{
public:
    User(Shared* pB) {m_sharedB = pB};
private:
    Shared* m_sharedB;
}
class Shared
{
public:
    struct Account 
    {
        int account_number;
    }
    void method(){...};
}
Run Code Online (Sandbox Code Playgroud)

我的问题与C++析构函数有关.当object1被删除时,成员变量"m_sharedB"会发生什么?是否存在悬挂指针给其他同行的问题?

c++ constructor destructor shared-ptr

0
推荐指数
1
解决办法
1162
查看次数

标签 统计

c++ ×2

constructor ×1

destructor ×1

linux ×1

regex ×1

sed ×1

shared-ptr ×1

vector ×1