小编Mar*_*ram的帖子

如何将Unix时间戳转换为DateTime,反之亦然?

有这个示例代码,但它开始讨论毫秒/纳秒问题.

自从C#中的Unix纪元以来,同样的问题出现在MSDN上,.

这是我到目前为止所得到的:

public Double CreatedEpoch
{
  get
  {
    DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime();
    TimeSpan span = (this.Created.ToLocalTime() - epoch);
    return span.TotalSeconds;
  }
  set
  {
    DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime();
    this.Created = epoch.AddSeconds(value);
  }
}
Run Code Online (Sandbox Code Playgroud)

c# unix datetime data-conversion epoch

715
推荐指数
16
解决办法
55万
查看次数

*.h或*.hpp用于您的类定义

我总是使用一个*.h文件作为我的类定义,但在阅读了一些boost库代码后,我意识到它们都在使用*.hpp.我一直厌恶那个文件扩展名,我想主要是因为我不习惯它.

使用*.hpp过的优点和缺点是*.h什么?

c++ header

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

为什么C++编译器没有定义operator ==和operator!=?

我非常喜欢让编译器为你做尽可能多的工作.在编写一个简单的类时,编译器可以为"free"提供以下内容:

  • 默认(空)构造函数
  • 复制构造函数
  • 析构函数
  • 赋值运算符(operator=)

但它似乎无法给你任何比较运算符 - 如operator==operator!=.例如:

class foo
{
public:
    std::string str_;
    int n_;
};

foo f1;        // Works
foo f2(f1);    // Works
foo f3;
f3 = f2;       // Works

if (f3 == f2)  // Fails
{ }

if (f3 != f2)  // Fails
{ }
Run Code Online (Sandbox Code Playgroud)

有这么好的理由吗?为什么执行逐个成员比较会成为问题?显然,如果类分配内存然后你要小心,但对于一个简单的类肯定编译器可以为你做这个?

c++ operators

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

人为地创建连接超时错误

当我收到连接超时时,我的软件中出现了一个错误.这些错误非常罕见(通常是我的内部网络丢失了我的连接).如何人工生成这种效果,以便测试我们的软件?

如果重要,应用程序是使用CAsyncSocket类在C++/MFC中编写的.

编辑:

我尝试使用不存在的主机,我收到套接字错误:

WSAEINVAL(10022)参数无效

我的下一次尝试是使用亚历山大建议连接到另一个端口,例如81(虽然在我自己的服务器上).这很有效.与断开的连接完全相同(60秒等待,然后错误).谢谢!

connection networking network-programming tcp

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

事件处理程序是否阻止垃圾收集发生?

如果我有以下代码:

MyClass pClass = new MyClass();
pClass.MyEvent += MyFunction;
pClass = null;
Run Code Online (Sandbox Code Playgroud)

pClass会被垃圾收集吗?或者它会在它们发生的时候仍然停止发射?我是否需要执行以下操作才能进行垃圾回收?

MyClass pClass = new MyClass();
pClass.MyEvent += MyFunction;
pClass.MyEvent -= MyFunction;
pClass = null;
Run Code Online (Sandbox Code Playgroud)

.net c# garbage-collection event-handling

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

线程与ThreadPool

使用新线程和使用线程池中的线程有什么区别?有什么性能优势,为什么我应该考虑使用池中的线程而不是我明确创建的线程?我在这里专门讨论.NET,但一般的例子很好.

.net architecture multithreading threadpool

133
推荐指数
5
解决办法
7万
查看次数

C++和OpenGL矩阵顺序之间的混淆(行主要与列主要)

我对矩阵定义感到非常困惑.我有一个矩阵类,它float[16]根据以下观察结果保存一个我认为是行主要的:

float matrixA[16] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };
float matrixB[4][4] = { { 0, 1, 2, 3 }, { 4, 5, 6, 7 }, { 8, 9, 10, 11 }, { 12, 13, 14, 15 } };
Run Code Online (Sandbox Code Playgroud)

matrixA并且matrixB两者在内存中具有相同的线性布局(即所有数字都按顺序排列).根据http://en.wikipedia.org/wiki/Row-major_order,这表示行主要布局.

matrixA[0] == matrixB[0][0];
matrixA[3] == matrixB[0][3];
matrixA[4] == matrixB[1][0];
matrixA[7] == matrixB[1][3];
Run Code Online (Sandbox Code Playgroud)

因此,matrixB[0]= row 0,matrixB[1]= row 1等.再次,这表示行主要布局. …

c++ opengl math matrix

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

如何将整个流读入std :: string?

我正在尝试将整个流(多行)读成字符串.

我正在使用这个代码,它有效,但它冒犯了我的风格......当然有一种更简单的方法吗?也许使用stringstreams?

void Obj::loadFromStream(std::istream & stream)
{ 
  std::string s;

  std::streampos p = stream.tellg();  // remember where we are

  stream.seekg(0, std::ios_base::end); // go to the end
  std::streamoff sz = stream.tellg() - p;  // work out the size
  stream.seekg(p);        // restore the position

  s.resize(sz);          // resize the string
  stream.read(&s[0], sz);  // and finally, read in the data.
Run Code Online (Sandbox Code Playgroud)


实际上,const对字符串的引用也可以,这可能会使事情变得更容易......

const std::string &s(... a miracle occurs here...)
Run Code Online (Sandbox Code Playgroud)

c++ string stream

68
推荐指数
4
解决办法
5万
查看次数

为什么要限制密码的长度?

我刚刚注册了一个网站来购买一些商品,当我试图输入我的(相当安全的)密码时,我被告知它太长了,我应该输入5到10个字符之间的密码!有什么意义呢?谁做出这样的决定?当然,理想的密码将是一个非常漫长而复杂的密码?为什么人们会坚持试图限制您可以使用哪种类型的密码?

您是否必须实施登录网站?登录是出于安全目的(例如购买商品).您对用户密码有什么(如果有)限制?你的决定是什么原因?

database security passwords web-applications

50
推荐指数
2
解决办法
3651
查看次数

如何让IntelliSense在Visual Studio 2008中可靠地工作

有谁知道如何在C/C++项目中使IntelliSense可靠地工作?它似乎适用于大约1/10的文件.Visual Studio 2005似乎比2008年好很多.

编辑:虽然不一定是解决方案,但这里提供的解决方法:

如何让IntelliSense在Visual Studio 2008中可靠地工作

如果我想要一个像样的智能感知系统,可能是最好的选择.

c c++ intellisense visual-studio-2008

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