小编izo*_*ica的帖子

将char数组转换为C中的int数

我想转换一个char数组[],如:

char myarray[4] = {'-','1','2','3'}; //where the - means it is negative
Run Code Online (Sandbox Code Playgroud)

所以它应该是整数:-1234使用C中的标准库.我找不到任何优雅的方式来做到这一点.

我可以肯定附加'\ 0'.

c arrays int char

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

我应该在阅读ElapsedMilliseconds之前调用Stop吗?

我可以在没有打电话的情况下Start使用秒表来获取经过的时间吗?我寻觅了很多一轮互联网,但只看到了例子,其中被称为后.这个值是在通话中填写还是总是正确的?ElapsedMillisecondsStopElapsedMillisecondsStopStop

c# stopwatch

24
推荐指数
1
解决办法
7721
查看次数

c#等价于c ++ vector或deque

我几乎可以肯定这应该是重复但我搜索了一段时间,但找不到答案.我应该在C#中使用,以取代C++向量和deque 有效.也就是说,我需要一种能够高效地支持直接索引的结构,并且还支持以有效的方式从一端或两端(取决于向量或双端情况)进行删除.

在java中,我通常使用ArrayList至少用于向量,但对于C#,我发现这个源表明: ArrayList resizes dynamically. As elements are added, it grows in capacity to accommodate them. It is most often used in older C# programs..那么新的方法是什么?我又如何为deque案件做些什么呢?

c# c++ vector deque

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

如何发现std :: vector的大小/长度(以字节为单位)?

我有一个向量,我想写它并将其读取到一个文件但是不可能使用sizeof运算符确定向量的逻辑大小.

那我该怎么办?

c++ vector std

22
推荐指数
1
解决办法
8万
查看次数

移动构造函数未按预期调用

我是C++ 0x的新手,我试图绕过右值引用并移动构造函数.我正在使用带有-std = c ++ 0x的g ++ 4.4.6,我对以下代码感到困惑:



    class Foo 
    {
    public:
      Foo() 
        : p( new int(0) )
      {
        printf("default ctor\n");
      }

      Foo( int i )
        : p( new int(i) )
      {
        printf("int ctor\n");
      }

      ~Foo() 
      {
        delete p;
        printf("destructor\n");
      }

      Foo( const Foo& other ) 
        : p( new int( other.value() ) )
      {
        printf("copy ctor\n");
      }


      Foo( Foo&& other )
        : p( other.p )
      {
        printf("move ctor\n");
        other.p = NULL;
      }

      int value() const 
      {
        return *p;
      }

    private: …
Run Code Online (Sandbox Code Playgroud)

c++ move-constructor c++11

14
推荐指数
1
解决办法
1723
查看次数

2048游戏:我做了多少动作?

不久之前,2048曾经很受欢迎.每个人都玩了它,很多人发布了很好的截图和他们的成就(我自己).然后在某些时候我开始怀疑是否有可能告诉别人玩多久才能达到那个分数.我进行了基准测试,结果证明(至少在我的Android应用程序上),一秒钟内只能进行一次移动.因此,如果你玩得足够长(并且足够快)你所做的动作数量非常接近于你玩过的秒数.现在的问题是:是否可以使用2048游戏的屏幕截图来计算制作了多少动作.

这是一个示例屏幕截图(实际上我迄今为止对游戏的最大努力):

从屏幕截图中,您可以看到当前时刻的场地布局以及玩家获得的积分数.那么:这些信息是否足以计算我所做的动作数量,如果是这样,算法是做什么的呢?

注意:我想提醒您,只有当两个图块"合并"并且得分的点数是新图块的值(即要合并的图块的值的总和)时,才会对点进行评分.

algorithm

14
推荐指数
1
解决办法
1749
查看次数

如何在visual c ++中将字符串文字转换为unsigned char数组

如何在c ++中将字符串转换为Unsigned char ...

我有,

unsigned char m_Test[8];
Run Code Online (Sandbox Code Playgroud)

我想分配一个字符串"Hello world"m_Test.

怎么做?

c++

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

使用__LINE__为不同的变量名创建宏

可能重复:
使用##和LINE创建C宏(使用定位宏进行标记连接)

我试图使用__LINE__宏来生成不同的变量名称.我有一个名为Benchmark的作用域基准测试类(位于utils命名空间中),它的构造函数接受一个字符串.这是我创建的宏定义:

#define BENCHMARK_SCOPE utils::Benchmark bm##__LINE__(std::string(__FUNCTION__))
Run Code Online (Sandbox Code Playgroud)

不幸的是,这会导致以下错误:

<some_file_name>(59): error C2374: 'bm__LINE__' : redefinition; multiple initialization

这使我得出结论__LINE__宏不会扩展.我根据这篇文章创建了我的超时空.你有想法为什么__LINE__不扩大?

编辑:可能编译器信息也相关.我正在使用visual studio 2010.

c++ macros concatenation visual-studio-2010 c-preprocessor

13
推荐指数
3
解决办法
8964
查看次数

std ::在std :: string和std :: vector <unsigned char>之间移动

我正在使用2个库.一个接受并返回std::strings而另一个使用std::vector<unsigned char>s.

这将是很好的,如果我可以从偷底层阵列std::stringstd::vector<unsigned char>并能够将其移动到对方没有过多的复制.

ATM我使用的东西如下:

const unsigned char* raw_memory =
    reinterpret_cast<const unsigned char*>(string_value.c_str()),
std::vector<unsigned char>(raw_memory, raw_memory + string_value.size();
Run Code Online (Sandbox Code Playgroud)

另一种方式:

std::string(
    reinterpret_cast<const char*>(&vector_value[0]),
    vector_value.size());
Run Code Online (Sandbox Code Playgroud)

能够定义一个以下内容会好得多:

std::string move_into(std::vector<unsigned char>&&);
std::vector<unsigned char> move_into(std::string&&);
Run Code Online (Sandbox Code Playgroud)

c++ string vector std unsigned-char

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

试图将未知数量的字符串推入向量,但我的cin循环不会终止

我试图从字符串作为输入cin,然后每次将字符串推入向量.但是,即使我在所有输入的末尾加上'\',我的循环也不会终止.

int main(void) {
    string row;
    vector<string> log;
    while (cin >> row) {
        if (row == "\n") {
            break;
        }
        log.push_back(row);
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我尝试用(cin >> row)替换(getline(cin,row)),但它没有任何区别.我尝试过使用stringstream,但我真的不知道它是如何工作的.我该如何解决这个问题?

c++ cin

10
推荐指数
1
解决办法
794
查看次数