小编Agn*_*ian的帖子

加密字符串的长度

我需要创建一个数据库列,它将存储使用Triple DES加密的字符串.如何确定加密字符串列的长度?

(欢迎使用Triple DES以外的算法的答案.)

encryption algorithm cryptography

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

为什么"0f"在C++中不被视为浮点字面值?

为什么0f在C++中不被视为浮点字面值?

#include <iostream>

using namespace std;

int main(){
  cout << 0f << endl;

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

编译上面的内容给了我

C2509(语法错误:'数字上的错误后缀')

使用VS2008.

c++ floating-point syntax syntax-error notation

15
推荐指数
4
解决办法
5375
查看次数

Direct3D线条粗细

使用Direct3D绘制线列表时如何更改线条的粗细?

这篇文章说不支持线宽,并继续提供解决方法.其他选择?

虽然我们讨论这个主题,但着色器是否允许人们使用短划线图案绘制线条?

directx graphics shader direct3d

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

在C++中实现operator <

我有一个包含几个数字字段的类,例如:

class Class1 {
    int a;
    int b;
    int c;
public:
    // constructor and so on...
    bool operator<(const Class1& other) const;
};
Run Code Online (Sandbox Code Playgroud)

我需要使用这个类的对象作为一个键std::map.因此,我实施operator<.operator<在这里使用最简单的实现是什么?

编辑:<只要任何字段不相等 ,就可以假设其含义以保证唯一性.

编辑2:

一个简单的实现:

bool Class1::operator<(const Class1& other) const {
    if(a < other.a) return true;
    if(a > other.a) return false;

    if(b < other.b) return true;
    if(b > other.b) return false;

    if(c < other.c) return true;
    if(c > other.c) return false;

    return false;
}
Run Code Online (Sandbox Code Playgroud)

这篇文章背后的全部原因只是我发现上面的实现过于冗长.应该有更简单的东西.

c++ operator-overloading operators operator-keyword

14
推荐指数
3
解决办法
8006
查看次数

VS2008命令提示符+ Cygwin

我使用VS2008命令提示符进行构建,TFS访问等,并使用cygwin提示符来获取grep,vi和类似unix的工具.有什么方法可以将vcvars32.bat功能"导入"到cygwin环境中,这样我就可以从cygwin本身调用"tfs checkout"了吗?

command-line cygwin

13
推荐指数
2
解决办法
6907
查看次数

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

搜索引擎在哪里开始抓取?

搜索引擎机器人用什么作为起点?是DNS查询还是从一些知名网站的固定列表开始?任何猜测或建议?

search-engine

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

螳螂路线图功能

如何在Mantis bugtracker中启用和使用路线图功能?

我自己回答这个问题,希望对其他Mantis用户有用.以下是对同一主题的讨论.

更新:作为一个例子,这里是螳螂本身的螳螂路线图.

bug-tracking mantis

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

使用.NET自定义序列化时测试可选字段

鉴于这样一个类:

[Serializable]
public class MyClass {
    string name;
    string address;

    public MyClass(SerializationInfo info, StreamingContext context){
        name = info.GetString("name");
        if(/* todo: check if a value for address exists */)
            address = info.GetString("address");
    }

    public void GetObjectData(SerializationInfo info, StreamingContext context){
        info.AddValue(name);
        if(address != null)
            info.AddValue(address);
    }
}
Run Code Online (Sandbox Code Playgroud)

如何address在调用之前测试字段的值是否存在info.GetString(address)

是的,我确实理解我可以简单地写一个空address字段,但我真正的问题是早期版本的MyClass,没有地址字段.

注意:我有充分的理由使用自定义序列化.有一些静态字段被用作单例,默认的反序列化不会尊重它.

.net c# serialization binary-serialization

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

GDI +:如何在任何设备上绘制一条长度为1英寸的线?

我需要在任何给出Graphics参考的设备上绘制一英寸长的线.不管Transform设定的是什么,我都需要一英寸长.假设变换的缩放因子由scale水平和垂直方向给出.

一些C++/CLI代码:

g->DrawLine(Pens::Black, 50.0f, 50.0f, 50.0f + oneInchEquivalent / scale, 50.0f);
Run Code Online (Sandbox Code Playgroud)

现在这一点都不难!现在我们需要做的就是计算oneInchEquivalent.

g->DpiX给我一个看起来像屏幕上一英寸但不在打印机上的距离.似乎在打印机上,绘制一行100个单位并g->PageUnit设置为GraphicsUnit :: Display将给我一行一英寸长.但是,无论PageUnit设置如何,我都需要这个工作.事实上,改变PageUnit会改变笔的宽度!

编辑:我暂时接受了这里唯一的答案,因为它非常接近我要找的东西.

.net graphics gdi+

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