小编Guy*_*ham的帖子

如何显示已上演的更改?

我上演了一些改变来承诺; 如何查看为下一次提交而暂存的所有文件的差异?我知道git状态,但我想看到实际的差异 - 而不仅仅是分阶段文件的名称.

我看到git-diff(1)手册页说

git diff [--options] [ - ] [...]

此表单用于查看您对索引所做的更改(下一次提交的暂存区域).换句话说,差异是你可以告诉git进一步添加到索引但你还没有.您可以使用git-add(1)暂存这些更改.

不幸的是,我无法理解这一点.必须有一些方便的单行,我可以创建一个别名,对吗?

git diff dvcs git-diff git-stage

2034
推荐指数
12
解决办法
78万
查看次数

如何将std :: string转换为小写?

我想将a转换std::string为小写.我知道这个函数tolower(),但是在过去我遇到了这个函数的问题,并且它很难理想,因为使用a std::string会需要迭代每个字符.

有没有一种方法可以100%的时间运作?

c++ string c++-standard-library tolower

736
推荐指数
12
解决办法
83万
查看次数

std :: unique_lock <std :: mutex>或std :: lock_guard <std :: mutex>?

我有两个用例.

答:我想将两个线程的访问同步到队列.

B.我想将两个线程的访问同步到队列并使用条件变量,因为其中一个线程将等待内容由另一个线程存储到队列中.

对于用例AI,请参阅代码示例std::lock_guard<>.对于用例BI,请参阅使用的代码示例std::unique_lock<>.

两者之间有什么区别,我应该在哪个用例中使用哪一个?

c++ multithreading mutual-exclusion c++11 stdmutex

318
推荐指数
5
解决办法
13万
查看次数

从构造函数中抛出异常

我正在和一位同事讨论如何从构造函数中抛出异常,并且我想要一些反馈.

从设计的角度来看,从构造函数中抛出异常是否可以?

假设我在一个类中包装一个POSIX互斥锁,它看起来像这样:

class Mutex {
public:
  Mutex() {
    if (pthread_mutex_init(&mutex_, 0) != 0) {
      throw MutexInitException();
    }
  }

  ~Mutex() {
    pthread_mutex_destroy(&mutex_);
  }

  void lock() {
    if (pthread_mutex_lock(&mutex_) != 0) {
      throw MutexLockException();
    }
  }

  void unlock() {
    if (pthread_mutex_unlock(&mutex_) != 0) {
      throw MutexUnlockException();
    }
  }

private:
  pthread_mutex_t mutex_;
};
Run Code Online (Sandbox Code Playgroud)

我的问题是,这是标准的方法吗?因为如果pthread mutex_init调用失败,则互斥对象不可用,因此抛出异常可确保不会创建互斥锁.

我是否应该为Mutex类创建一个成员函数init,并pthread mutex_init在其中调用将返回基于返回的bool pthread mutex_init?这样我就不必为这种低级对象使用异常.

c++ constructor exception throw

265
推荐指数
7
解决办法
18万
查看次数

C++按值而不是按位置擦除向量元素?

vector<int> myVector;
Run Code Online (Sandbox Code Playgroud)

并且让我们说向量中的值是这个(按此顺序):

5 9 2 8 0 7
Run Code Online (Sandbox Code Playgroud)

如果我想删除包含值"8"的元素,我想我会这样做:

myVector.erase(myVector.begin()+4);
Run Code Online (Sandbox Code Playgroud)

因为那会抹掉第4个元素.但有没有办法根据值"8"擦除元素?喜欢:

myVector.eraseElementWhoseValueIs(8);
Run Code Online (Sandbox Code Playgroud)

或者我只是需要遍历所有的向量元素并测试它们的值?

c++ stl vector erase erase-remove-idiom

235
推荐指数
3
解决办法
29万
查看次数

如何在詹金斯克隆工作?

Jenkins有Gerrit插件,所以当我们签入gerrit时,Jenkins执行构建,如果成功,则验证gerrit的修改.如果构建失败则不然.我的理解是,这是通过在詹金斯建立的工作来实现的.我们现在已经创建了一个新的分支(git),我想我需要克隆指向另一个分支的现有作业,以便发生相同的工作流并在每次提交时执行构建.有人可以解释我将如何克隆这些工作.我似乎没有看到通过UI做到这一点的方法,甚至我也看不到通过UI列出作业的方法.

git continuous-integration jenkins

201
推荐指数
8
解决办法
16万
查看次数

如何查看Windows库的内容(*.lib)

我有一个二进制文件 - Windows静态库(*.lib).
有没有一种简单的方法可以从该库中找出函数及其接口的名称?

类似于emfarelfdump实用程序(在Linux系统上)?

windows static-libraries libraries

165
推荐指数
7
解决办法
16万
查看次数

"#pragma comment"是什么意思?

#pragma comment以下是什么意思?

#pragma comment(lib, "kernel32")
#pragma comment(lib, "user32")
Run Code Online (Sandbox Code Playgroud)

c++ macros pragma visual-c++

164
推荐指数
2
解决办法
12万
查看次数

如何获取python列表的第n个元素或默认值(如果不可用)

我正在寻找一个等效的python dictionary.get(key, default)列表.是否有任何一个习惯用语来获取列表的第n个元素或默认值(如果不可用)?

例如,给定一个我希望获得的列表myList myList[0],或者如果myList是一个空列表,则为5 .

谢谢.

python list

128
推荐指数
6
解决办法
24万
查看次数

const_iterator和iterator有什么区别?

这两个关于STL内部实现的区别是什么.性能有什么不同?我想当我们在"只读明智"中遍历矢量时,我们更喜欢const_iterator,对吧?

谢谢.

c++ iterator stl const-iterator

124
推荐指数
3
解决办法
10万
查看次数