有这个示例代码,但它开始讨论毫秒/纳秒问题.
自从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) 我总是使用一个*.h文件作为我的类定义,但在阅读了一些boost库代码后,我意识到它们都在使用*.hpp.我一直厌恶那个文件扩展名,我想主要是因为我不习惯它.
使用*.hpp过的优点和缺点是*.h什么?
我非常喜欢让编译器为你做尽可能多的工作.在编写一个简单的类时,编译器可以为"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)
有这么好的理由吗?为什么执行逐个成员比较会成为问题?显然,如果类分配内存然后你要小心,但对于一个简单的类肯定编译器可以为你做这个?
当我收到连接超时时,我的软件中出现了一个错误.这些错误非常罕见(通常是我的内部网络丢失了我的连接).如何人工生成这种效果,以便测试我们的软件?
如果重要,应用程序是使用CAsyncSocket类在C++/MFC中编写的.
编辑:
我尝试使用不存在的主机,我收到套接字错误:
WSAEINVAL(10022)参数无效
我的下一次尝试是使用亚历山大建议连接到另一个端口,例如81(虽然在我自己的服务器上).这很有效.与断开的连接完全相同(60秒等待,然后错误).谢谢!
如果我有以下代码:
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,但一般的例子很好.
我对矩阵定义感到非常困惑.我有一个矩阵类,它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等.再次,这表示行主要布局. …
我正在尝试将整个流(多行)读成字符串.
我正在使用这个代码,它有效,但它冒犯了我的风格......当然有一种更简单的方法吗?也许使用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) 我刚刚注册了一个网站来购买一些商品,当我试图输入我的(相当安全的)密码时,我被告知它太长了,我应该输入5到10个字符之间的密码!有什么意义呢?谁做出这样的决定?当然,理想的密码将是一个非常漫长而复杂的密码?为什么人们会坚持试图限制您可以使用哪种类型的密码?
您是否必须实施登录网站?登录是出于安全目的(例如购买商品).您对用户密码有什么(如果有)限制?你的决定是什么原因?
有谁知道如何在C/C++项目中使IntelliSense可靠地工作?它似乎适用于大约1/10的文件.Visual Studio 2005似乎比2008年好很多.
编辑:虽然不一定是解决方案,但这里提供的解决方法:
如何让IntelliSense在Visual Studio 2008中可靠地工作
如果我想要一个像样的智能感知系统,可能是最好的选择.
c++ ×5
.net ×2
c# ×2
architecture ×1
c ×1
connection ×1
database ×1
datetime ×1
epoch ×1
header ×1
intellisense ×1
math ×1
matrix ×1
networking ×1
opengl ×1
operators ×1
passwords ×1
security ×1
stream ×1
string ×1
tcp ×1
threadpool ×1
unix ×1