小编Mey*_*sam的帖子

如何使用stringstream分隔逗号分隔的字符串

我有以下代码:

std::string str = "abc def,ghi";
std::stringstream ss(str);

string token;

while (ss >> token)
{
    printf("%s\n", token.c_str());
}
Run Code Online (Sandbox Code Playgroud)

输出是:

abc
def,ghi

因此,stringstream::>>运算符可以按空格分隔字符串,但不能用逗号分隔.反正有没有修改上面的代码,以便我可以得到以下结果?

输入:"abc,def,ghi"

输出:
abc
def
ghi

c++ stringstream tokenize

118
推荐指数
2
解决办法
21万
查看次数

类似于Maven的C++依赖管理?

假设我有一个C++项目,它被分成几个子项目.子项目都生成一个DLL,不同的开发团队在每个子项目上工作.现在,如果我想构建主项目,有没有办法避免必须自己构建所有子项目?

简而言之,我正在寻找一些能够以与Maven为Java相似的方式进行依赖管理(即二进制文件和头文件)的东西.

事实上,我尝试使用Maven,但这很麻烦,因为我必须手动创建包,而且很频繁,Maven错过了最新的更改.此外,运行编译有点像黑客,因为我必须从Maven中调用NAnt(我使用NAnt的功能直接构建Visual Studio解决方案).

有关如何做到这一点的任何提示和想法?

c++ build dependency-management maven

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

在不锁定互斥锁的情况下调用pthread_cond_signal

我在某处读到我们应该在调用pthread_cond_signal之前锁定互斥锁并在调用它后解锁互斥锁:

pthread_cond_signal()例程用于发信号(或唤醒)正在等待条件变量的另一个线程.它应该在锁定互斥锁后调用,并且必须解锁互斥锁才能完成pthread_cond_wait()例程.

我的问题是:在不锁定互斥锁的情况下调用pthread_cond_signalpthread_cond_broadcast方法是不是可以?

c++ mutex signals pthreads condition-variable

78
推荐指数
3
解决办法
4万
查看次数

使用CMake后如何将目录内容复制到build目录?

config在源文件旁边的目录中有一些配置文件(xml,ini,...).如何在每次创建项目时将config目录中的所有文件复制到构建目录(可执行文件旁边)?

c++ cmake

67
推荐指数
4
解决办法
6万
查看次数

声明int数组

这两个声明之间有什么区别吗?

int x[10];
Run Code Online (Sandbox Code Playgroud)

int* x = new int[10];
Run Code Online (Sandbox Code Playgroud)

我认为前一个声明(如后一个声明)是一个指针声明,两个变量都可以相同.这是否意味着它们本质上是一样的?

c++ arrays pointers initialization

63
推荐指数
4
解决办法
8万
查看次数

static和const变量有什么区别?

有人可以解释一个staticconst变量之间的区别吗?

c c++ static const

62
推荐指数
6
解决办法
11万
查看次数

将unique_ptr传递给函数

我正试图"现代化"一些现有的代码.

  • 我有一个类,当前有一个成员变量"Device*device_".
  • 它使用new在一些初始化代码中创建一个实例,并在destructory中有一个"delete device_".
  • 此类的成员函数调用许多其他函数,这些函数将Device*作为参数.

这很好用,但为了"现代化"我的代码,我认为我应该更改要定义的变量,"std::unique_ptr<Device> device_"并删除显式调用delete,这使得代码更安全,通常更好.

我的问题是这个 -

  • 那么我应该如何将device _变量传递给需要它作为参数的所有函数?

我可以调用.get来获取每个函数调用中的原始指针.但这看起来很丑陋,浪费了一些首先使用unique_ptr的原因.

或者我可以更改每个函数,以便不使用"Device*"类型的参数,而是使用"std :: unique_ptr&"类型的参数.哪个(对我来说)有点模糊了函数原型,并使它们难以阅读.

这是什么最佳做法?我错过了其他选择吗?

c++ smart-pointers unique-ptr

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

提升测试与Google测试框架

我是单元测试世界的新手,基本上我是c ++开发人员,在大型产品上工作了近3年,现在我决定对我的代码进行自动单元测试.为此,我在互联网上做了很多研究并遇到了许多工具和框架,最后选择了以下两个:1)Boost测试库2)c ++的Google测试框架

现在我很困惑哪些可供选择.如果有人使用上述任何一项,请分享您的经验.

boost automated-tests unit-testing googletest

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

如何通过进程名称获取PID?

有什么方法可以通过Python中的进程名称获取PID吗?

  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND                                                                                        
 3110 meysam    20   0  971m 286m  63m S  14.0  7.9  14:24.50 chrome 
Run Code Online (Sandbox Code Playgroud)

例如,我需要获得3110通过chrome.

python linux pid python-2.7

34
推荐指数
6
解决办法
8万
查看次数

用c ++计算执行时间

我写了一个c ++程序,我想知道如何计算执行时间,所以我不会超过时间限制.

#include<iostream>

using namespace std;

int main ()
{
    int st[10000],d[10000],p[10000],n,k,km,r,t,ym[10000];
    k=0;
    km=0;
    r=0;
    scanf("%d",&t);
    for(int y=0;y<t;y++)
    {
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
            cin>>st[i] >>d[i] >>p[i];
    }
    for(int i=0;i<n;i++)
    {
            for(int j=i+1;j<n;j++)
            {
                    if((d[i]+st[i])<=st[j])
                    {
                              k=p[i]+p[j];
                    }
                    if(k>km)
                    km=k;
            }
        if(km>r)
        r=km;
    }
    ym[y]=r;
}
    for( int i=0;i<t;i++)
    {
         cout<<ym[i]<<endl;
    }


    //system("pause");
    return 0;
}     
Run Code Online (Sandbox Code Playgroud)

这是我的节目,我希望它在3秒的时限内!怎么做 ?是的,我的意思是执行时间!!

c++ execution-time

30
推荐指数
5
解决办法
15万
查看次数