用MSVC++ 6.0制作这个简单的类
class Strg
{
public:
Strg(int max);
private:
int _max;
};
Strg::Strg(int max)
{
_max=max;
}
Run Code Online (Sandbox Code Playgroud)
如果我使用它听起来不错:
main()
{
Strg mvar(10);
}
Run Code Online (Sandbox Code Playgroud)
但是现在如果我在另一个类中使用它:
class ok
{
public:
Strg v(45);
};
Run Code Online (Sandbox Code Playgroud)
我收到消息错误: 错误C2059:语法错误:'常量'
你能告诉我更多吗?
好的,我已经在网上阅读了很多关于finalize()方法的文章以及我们无法真正依赖它的事实......
对,很清楚(我猜)
但是当内存泄漏发生时,在VisualVM内部越来越深之前,我可以使用finalize方法作为主要的调试工具吗?
(一个很小的日志消息,比如finalize中的"object released"和构造函数中的"object created")
我想禁用(在VS2010 C程序中)GPF发生时弹出屏幕的崩溃对话框窗口(你知道xxx.exe停止工作)
我试过win2008和win7:
- SetErrorMode(SetErrorMode(SEM_NOGPFAULTERRORBOX)|SEM_FAILCRITICALERRORS);
- try/catch (with SEH, but some parts of the code aren't wrapped in)
- SetUnhandledExceptionFilter()
Run Code Online (Sandbox Code Playgroud)
什么都行不通......还是这个该死的窗户
我忘了什么吗?
唯一有效的是修改注册库中的"DontShowUI"键(HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Windows错误报告),但它只是不干净,我更喜欢"编码"解决方案(我不能改变注册我的代码!)
你有好主意吗 ?(除了修复程序本身以避免GPF当然:)
谢谢...
注意:有趣的是,在Cygwin下,崩溃对话框没有出现!
在 C# 中做这样的事情是否安全,或者至少是“好的做法”:
string cnt;
....
cnt = cnt.Trim();
Run Code Online (Sandbox Code Playgroud)
(例如,在 C 中,有时,您必须小心处理这种赋值。)
有没有之间的差异mkdir(<name>),并CreateDirectory(<name>, NULL)在Win32下.
我可以看到,两者都在工作(以同样的方式??)
我想设置高度与容器相同的2列div(当然不使用px)
HTML
<body>
<div id="container">
<div id="hdr-lay">
Header
</div>
<div id="left-column">
Grid Layout left
</div>
<div id="right-column">
Grid Layout right
</div>
</div>
</body>
Run Code Online (Sandbox Code Playgroud)
CSS
#hdr-lay {
_background-color: red;
}
#container {
background-color: gray;
height:100%;
width:100%;
}
#left-column {
float: left;
background-color: red;
border: 1px;
width: 70%;
}
#right-column {
float: left;
width: 30%;
background-color: blue;
display: block;
}
Run Code Online (Sandbox Code Playgroud)
也许更容易做到没有?
在C中,我必须用tcp/ip(~6.5mo)发送一堆数据我正在使用"经典"send().你认为给函数提供一个部分发送的整个数据大小是一个好主意,还是我更喜欢chunk方式(例如,64ko ......)
使用Qt 4.8,我想设置我的框架"保持在最顶层".Qt方式并不完美,因为它需要重新创建涉及丑陋闪烁的窗口.
在Win32下,它存在一个本机方法:
SetWindowPos(winId(), <HWND_TOPMOST:HWND_NOTOPMOST>, 0,0,0,0, SWP_NOMOVE|SWP_NOSIZE|SWP_NOACTIVATE);
Run Code Online (Sandbox Code Playgroud)
但是我必须在OS-X下使用什么代码?
使用Java 1.7,以下代码
try
{
sck = SocketChannel.open();
sck.configureBlocking(false);
sck.connect(new java.net.InetSocketAddress(**<bad remote ip address>**, remote_port));
sel = Selector.open();
...
}
catch (IOException e)
{
return false;
}
Run Code Online (Sandbox Code Playgroud)
如果远程地址是一个坏DNS(例如),似乎没有捕获异常.我错过了什么?
我们可以说C#async/await模式是某种(智能)糖语法吗?
因为据我所知,在最后,它"只是"隐藏了程序员的(内部)工作线程的所有实现.
我注意到git允许直接提交跟踪文件(已在本地修改),而无需使用暂存,例如:
$ git status -s .
M myfile.txt
$ git commit myfile.txt -m"1 way"
Run Code Online (Sandbox Code Playgroud)
改为使用“经典”两个步骤更好吗?:
$ git add myfile.txt
$ git commit myfile.txt -m"2 way"
Run Code Online (Sandbox Code Playgroud) 我在C++中做了一个非常小而简单的Integer类包装器,其中globaly看起来像这样:
class Int
{
...
private:
int value;
...
}
Run Code Online (Sandbox Code Playgroud)
我几乎处理了所有可能的任务,但我不知道我必须使用什么样的操作才能获得本机左派.
例如:
Int myInteger(45);
int x = myInteger;
Run Code Online (Sandbox Code Playgroud) 在我的C++类中,我需要分配一个带指针和/或引用的方法.所以我做了这个棘手的事情:
(假设aclass是一个类变量AnotherClass*)
void MyClass::setElem(AnotherClass *pVal)
{
aclass = pVal;
}
void MyClass::setElem(AnotherClass &refVal)
{
aClass = &article;
}
Run Code Online (Sandbox Code Playgroud)
但在我看来,听起来并不那么"优雅"......
更好的方法来实现这一目标
c++ ×3
c ×2
c# ×2
java ×2
sockets ×2
windows ×2
.net ×1
async-await ×1
c#-5.0 ×1
class ×1
css3 ×1
cygwin ×1
debugging ×1
exception ×1
finalizer ×1
git ×1
git-commit ×1
html5 ×1
int ×1
layout ×1
macos ×1
memory-leaks ×1
mkdir ×1
nio ×1
pointers ×1
qt4 ×1
reference ×1
tcp ×1
visual-c++-6 ×1
winapi ×1
wrapper ×1