小编use*_*067的帖子

将元素从std :: vector移动到另一个

如何将一些元素从第一个向量移动到第二个向量,元素将从第一个向量中删除?
如果我使用std::move,元素不会从第一个向量中删除.
这是我写的代码:

   move(xSpaces1.begin() + 7, xSpaces1.end(), back_inserter(xSpaces2));
Run Code Online (Sandbox Code Playgroud)

c++ vector

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

我什么时候需要释放记忆?

我学习了C#,现在我正在学习C++.释放记忆的全部意义对我来说都是新的,我想知道什么时候我需要担心释放内存以及什么时候不需要.

根据我的理解,我唯一担心内存释放的情况是,当我使用newoperator时,所以我应该通过使用释放内存delete.
但在这些情况下,没有必要释放内存:

  • 类变量(成员)或静态变量.
  • 函数中的局部变量.
  • STL系列(字符串,列表,矢量等).

这是真的?
还有其他情况我不得不担心释放内存吗?

c++ memory

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

获取c ++中的数字百分比

如何计算int的百分之几?
例如,我想从数字中得到30%,如果我将使用这个代码示例,我会得到错误的答案:

int number = 250;
int result = (number / 100) * 30;  
Run Code Online (Sandbox Code Playgroud)

结果将是60,真正的答案是75,有没有办法计算它?

c++ integer-division

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

窗口是否接收三次单击事件?如何处理高阶点击?

窗口是否会收到有关三次单击的消息,就像双击一样?我找不到与WM_LBUTTONTRIPLECLICKmessage 类似的WM_LBUTTONDBLCLK消息

我想实现类似于 Microsoft Word 的东西,其中三次单击选择整个段落。如何检测我的窗口上的三次单击?

c++ windows winapi

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

我应该释放我复制到剪贴板的内存吗?

当我将我的win32程序中的数据复制到clipbord时,我是否应该将我复制到剪贴板的内存释放出来后将其粘贴到别处?或者系统对此负责.

memory winapi

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

在std :: list中查找一系列值

是否有算法在std :: list中查找一系列值,可以执行以下操作:

list<char> text;
text.push_back('a');
text.push_back('b');
text.push_back('c');
text.push_back('d');
text.push_back('e');
text.push_back('f');

list<char> values;
values.push_back('c');
values.push_back('d');
values.push_back('e');

list<char>::iterator it = find(text.begin(), text.end(), values);
Run Code Online (Sandbox Code Playgroud)

c++ stl

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

在DrawText win32函数中设置格式

当我通过Win32 API的DrawText函数绘制文本时
有没有办法确定将使用哪种字体,或确定字体大小,或粗体或斜体?
PS我用C#写的

c# winapi

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

在visual c#中创建头文件(.h)和.lib文件

我想在visual c#中创建一个dll,并在win32程序中使用它(visual c ++).根据我的理解,为了在Visual C++中添加dll文件,我还需要.h文件和.lib文件,但是当我在visual c#中创建一个类库时,我只得到dll文件.
是否可以在visual c#中创建.h文件和.lib文件?

c# dll

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

移动std :: unique_ptr时出错

我尝试运行此代码以在复制构造函数中将unique_ptr从第一个向量移动到另一个向量:

class Text
{
    struct paragraph
    {
        int index;
        string text;
    };

    vector<unique_ptr<paragraph>> paragraphs; 

public:

    Text()
    {
        paragraphs.push_back(unique_ptr<paragraph>(new paragraph));
    }

    Text(const Text & t)
    {
        for(int i = 0; i < (int)t.paragraphs.size(); i++)
        {
            paragraphs.push_back(move(t.paragraphs[i]));
        }
    }
};
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误:

1>c:\program files\microsoft visual studio 10.0\vc\include\xmemory(208): error C2248: 'std::unique_ptr<_Ty>::unique_ptr' : cannot access private member declared in class 'std::unique_ptr<_Ty>'
1>          with
1>          [
1>              _Ty=Text::paragraph
1>          ]
// Etc.
Run Code Online (Sandbox Code Playgroud)

c++

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

标签 统计

c++ ×6

winapi ×3

c# ×2

memory ×2

dll ×1

integer-division ×1

stl ×1

vector ×1

windows ×1