小编Spe*_*ral的帖子

STL +有序集+没有重复

我需要有一组有序的值而不重复.那么,什么是快速/最佳方法:

1 - 创建一个向量,对其进行排序并删除重复项?2 - 使用一种"排序"向量(如果存在)?

哪一个可以更有效?

c++ collections stl std duplicates

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

C++ API:用于保护软件的许可证管理

我正在寻找一个C++和开源库来保护商业软件再破解等...

你知道吗?

c++ api licensing

4
推荐指数
2
解决办法
4690
查看次数

错误C3646:'closure':未知的覆盖说明符

我收到以下错误:

error C3646: 'closure' : unknown override specifier
Run Code Online (Sandbox Code Playgroud)

代码:

void BaseOperator::mousebutton_cb(EventObject* sender, EventArgs* calldata, void* closure)
{
    xd3D::Operation::Operator::BaseOperator* operator = (xd3D::Operation::Operator::BaseOperator*)closure;
    MouseButtonEventArgs* e = (MouseButtonEventArgs*)calldata;
    if (e->Status == Down)
        operator->OnMouseButtonDown(e);
    else
        operator->OnMouseButtonUp(e);
}
Run Code Online (Sandbox Code Playgroud)

你知道为什么我有这个错误吗?

c++ overriding specifier

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

如何在我的应用程序中嵌入和保护一些"文本"文件

我的c ++应用程序使用一些"文本文件",这些文件非常重要,我需要保护他们的内容,以便查看/解密/提取/反汇编...

另外,如果可能的话,我想将它们嵌入到DLL/EXE中

你能告诉我有没有办法实现这个目标?如果可能,代码必须是可移植的!

c++ embed encryption drm copy-protection

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

C++虚拟+受保护?

在C++中,我有一个基类A,一个子类B.它们都有虚拟方法Visit.我想重新定义B中的"Visit",但是B需要访问每个A(以及所有子类)的"Visit"函数.

我有类似的东西,但它告诉我B不能访问受保护的A成员!但B也是A :-P

那么,我该怎么办?

class A
{
protected:
virtual Visit(...);
}

class B : public class A
{
protected:
vector<A*> childs;
Visit(...);
}

B::Visit(...)
{
 foreach(A* a in childs)
 {
   a->Visit(...);
 }
}
Run Code Online (Sandbox Code Playgroud)

谢谢

c++ virtual class protected

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

将函数转换为非模板类​​?

我想在这样的非模板化函数中添加一个"模板化函数":

class A
{
template <class T>
void Test<T>();
}

template <class T>
A::Test<T>();
Run Code Online (Sandbox Code Playgroud)

但它告诉我,.h文件中有错误!这个声明有问题吗?

备注:我的班级不得模板化!

谢谢

c++ templates class function

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

fopen - 不能写超过16K?

我目前正在使用fopen来编写/读取二进制文件.小文件都是罚款.但在某些情况下,当"确切"内容> 16K时,文件的其余部分无效!

代码很简单,fopen ... fread/fwrite ... fflush ... fclose!

我尝试过使用C++.但是现在我在"阅读"期间遇到了问题

在BinaryDefaultRead中它返回-1 !!! 但真的不知道为什么!我一次只写4个字节!

它使用MSVC 2008编译器在Win7 64位下.

#include <fstream>

using namespace std;

size_t BinaryDefaultRead(ifstream& stream, void* buffer, unsigned int bufferSize)
{
    //return fread(buffer, 1, (size_t) bufferSize, file);
    stream.read((char*)buffer, bufferSize);
    if (!stream)
        return -1;

    return bufferSize;
}

size_t BinaryDefaultWrite(ofstream& stream, const void* buffer, unsigned int bufferSize)
{
    //return fwrite(buffer, 1, (size_t) bufferSize, file);
    stream.write((char*)buffer, bufferSize);
    if (!stream)
        return -1;

    return bufferSize;
}

// Read an unsigned integer from a stream in a …
Run Code Online (Sandbox Code Playgroud)

c++ fopen limit

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