小编use*_*967的帖子

重置字符串流

如何将字符串流的状态"重置"为创建它时的状态?

int firstValue = 1;
int secondValue = 2;

std::wstringstream ss;

ss << "Hello: " << firstValue;

std::wstring firstText(ss.str());

//print the value of firstText here


//How do I "reset" the stringstream here?
//I would like it behave as if I had created
// stringstream ss2 and used it below.


ss << "Bye: " << secondValue;

std::wstring secondText(ss.str());

//print the value of secondText here
Run Code Online (Sandbox Code Playgroud)

c++ string stringstream

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

使用TortoiseSVN删除修订版

我使用TortoiseSVN对我的SVN服务器进行了一些错误的代码更改.

现在头部修订版是155,但是我想删除最后2个版本,以便头版本修改为153.换句话说,我想"撤消"我最后两次提交.

我怎么能用TortoiseSVN做到这一点?TortoiseSVN菜单中是否存在选项,还是需要使用命令行?

svn version-control tortoisesvn

17
推荐指数
1
解决办法
4万
查看次数

在C++程序中读取XML文件

我正在尝试在我的C++程序中读取XML文件.XML文件看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<myprogram>
<configuration>
<window>
<height> 300 </height>
<width> 500 </width>
</window>
</configuration>
</myprogram>
Run Code Online (Sandbox Code Playgroud)

现在我可以查看XML文件并尝试按如下方式阅读:

ifstream in("mydata.xml");

//ignore the <?xml line
in.ignore(200, '\n');

//i know that the first value i want is the window height so i can ignore <myprogram> <configuration> and <window>

//ignore <myprogram>
in.ignore(200, '\n');

//ignore <configuration>
in.ignore(200, '\n');

//ignore <window>
in.ignore(200, '\n');

string s; int height;

//okay, now i have my height
in >> s >> height;
Run Code Online (Sandbox Code Playgroud)

一般来说,这似乎是个坏主意,它确实限制了XML文件的修改方式.上面的解决方案是非常手动的,如果XML中的任何内容发生变化,似乎必须更改整个读取方法.

有一个更好的方法吗?

c++ xml

11
推荐指数
2
解决办法
9万
查看次数

通过迭代器获取set元素的"索引"

这个问题适用于std::setstd::unsorted_set.

我有一个集合中元素的迭代器.我想使用迭代器根据元素在集合中的位置获取元素的"索引".

例如,我的集合的索引如下:

int index = 0;

for(MySetType::iterator begin = mySet.begin(); begin != mySet.end(); begin++)
{
    cout << "The index for this element is " << index;
    index++;
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用迭代器进行算术运算,但它不起作用:

int index = mySetIterator - mySet.begin();
Run Code Online (Sandbox Code Playgroud)

有没有办法使用迭代器根据它在集合中的位置获取这样的索引值?

c++ iterator stl

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

改变获得随机数的概率

我想生成0到3之间的随机数,我的代码中有以下内容:

int random = rand() % 4;
Run Code Online (Sandbox Code Playgroud)

这工作正常,但我希望它在大多数时间生成1,2和3,偶尔生成0.

最好的方法是什么?解决此问题的常用算法有哪些名称?

c++ random

7
推荐指数
2
解决办法
1万
查看次数

是否有自定义类的unordered_set的默认哈希函数?

std::unordered_set第一次使用a 并且对哈希函数有疑问.据我所知,如果你没有指定哈希函数,它将默认为std::hash<Key>.

我的一个mySet班级有一名成员:

typedef std::unordered_set<MyClass> USetType;
USetType mySet;
Run Code Online (Sandbox Code Playgroud)

当我尝试构建时,我收到以下错误:

错误C2440:'type cast':无法从'const MyClass'转换为'size_t'

size_t如果要使用unordered_set自定义类,是否需要定义转换函数(to )?有没有办法避免编写自己的哈希函数并只使用默认值?

c++ hash unordered-set

7
推荐指数
1
解决办法
9127
查看次数

Dreamhost SVN服务器错误:E175002

我试过谷歌搜索,但我没有想出任何东西.我使用Dreamhost的系统设置了一个SVN服务器,它说一切都是成功创建的.但是现在当我尝试导入时(注意我用我的实际网站替换mysite.com):

svn import MySource http://svn.mysite.com/myproject -m"初始导入"--username paul

我收到一个错误: svn:E175002:无法连接到URL'http://svn.mysite.com/myproject'svn的存储库:E175002:服务器发送意外返回值(500内部服务器错误)以响应OPTIONS请求为'http://svn.mysite.com/myproject'

怎么了?

svn apache dreamhost

6
推荐指数
0
解决办法
4777
查看次数

C++ 11从相同类类型的构造函数中调用构造函数

有人告诉我,由于C++ 11的变化,以下内容是可能的:

class SomeType  {
int number;

public:
SomeType(int new_number) : number(new_number) {}
SomeType() : SomeType(42) {}
};
Run Code Online (Sandbox Code Playgroud)

但是当我尝试构建时,我收到一个错误:

"SomeType" is not a nonstatic data member or base class of class "SomeType"

error C2614: 'SomeType' : illegal member initialization: 'SomeType' is not a base or member
Run Code Online (Sandbox Code Playgroud)

Visual Studio 2010中是否还不支持此功能?我是否需要配置一些东西来构建它?怎么了?

c++ constructor visual-studio-2010 visual-c++ c++11

6
推荐指数
1
解决办法
1486
查看次数

static const类成员

我需要在整个程序中引用各种常量.我一直在使用静态const类成员,而不是使用全局变量:

class Human
{
public:
    static const int HANDS = 2;
    static const int FINGERS = 10;
};
Run Code Online (Sandbox Code Playgroud)

问题是我需要从XML数据文件中读取值.我知道我可以用函数初始化一个静态成员:

const int Human::HANDS = ReadDataFromFile();
Run Code Online (Sandbox Code Playgroud)

由于初始化顺序只能在同一个编译单元中预测,因此我必须在同一个CPP文件中定义所有这些顺序.这不是一个真正的问题,但它有点混乱.

真正的问题是,在我的代码甚至有机会运行之前,我的ReadDataFromFile()函数中的所有内容都需要准备好使用.例如,我有一个XML类,通常处理从文件中读取XML数据.但是,我不能在这种情况下使用它,因为静态成员在我的XML类对象构造之前被初始化.

除了随处可见的全局变量之外,还有更好的解决方案来组织常量吗?

c++ static const global-variables

6
推荐指数
1
解决办法
2368
查看次数

CRT库类型

我正在尝试更好地掌握Visual Studio 2013中的CRT库选项(C++ - >代码生成 - >运行时库)以及如何知道选择哪个选项(以及何时更改默认值).

来自MSDN:

可重用库及其所有用户应使用相同的CRT库类型,因此使用相同的编译器开关.

因此,我的理解是,如果您要链接第三方库,则应使用与构建库相同的CRT版本.构建库的人应该指定构建中使用的CRT选项.

有没有办法通过查看.lib文件来确定使用哪个CRT版本?

更重要的是,如果您没有链接任何第三方库,您将如何决定使用哪个选项?您何时考虑更改默认值?

c++ crt visual-studio-2013

5
推荐指数
1
解决办法
2367
查看次数