我已经阅读了大约4-5本关于设计模式的书籍,但我仍然觉得我在设计模式方面没有接近中级水平?
我该如何去研究设计模式?
有没有关于设计模式的好书?
我知道这只会有经验,但必须有一些方法来掌握这些?
我需要在指定的时间间隔内生成随机数,[max; min].
此外,随机数应该在区间上均匀分布,而不是位于特定点.
Currenly我正在生成:
for(int i=0; i<6; i++)
{
DWORD random = rand()%(max-min+1) + min;
}
Run Code Online (Sandbox Code Playgroud)
从我的测试中,只有一点产生随机数.
Example
min = 3604607;
max = 7654607;
Run Code Online (Sandbox Code Playgroud)
随机数生成:
3631594
3609293
3630000
3628441
3636376
3621404
Run Code Online (Sandbox Code Playgroud)
从下面的答案:好的,RAND_MAX是32767.我在C++ Windows平台上.有没有其他方法来生成具有均匀分布的随机数?
目前我正在开发一个使用goto语句的项目.goto语句的主要目的是在例程中使用一个清理部分而不是多个return语句.如下所示:
BOOL foo()
{
BOOL bRetVal = FALSE;
int *p = NULL;
p = new int;
if (p == NULL)
{
cout<<" OOM \n";
goto Exit;
}
// Lot of code...
Exit:
if(p)
{
delete p;
p = NULL;
}
return bRetVal;
}
Run Code Online (Sandbox Code Playgroud)
这使得我们可以更容易地跟踪代码中一个部分的清理代码,即在Exit标签之后.
但是,我已经阅读了许多地方,有goto语句是不好的做法.
目前我正在阅读Code Complete书,它说我们需要使用接近其声明的变量.如果我们使用goto,那么我们需要在第一次使用goto之前声明/初始化所有变量,否则编译器会给出goto语句跳过xx变量初始化的错误.
哪条路对不对?
来自Scott的评论:
看起来使用goto从一个部分跳转到另一个部分是不好的,因为它使代码难以阅读和理解.
但是如果我们只使用goto前进到一个标签那么它应该没问题(?).
我刚才知道有数据断点.我使用Visual Studio在C++工作了5年,从未使用过数据断点.
有人可以了解一下数据断点是什么,何时使用它们以及如何在VS中使用它们?
根据我的理解,当我们想要检查变量值的变化时,我们可以设置数据断点.在这种情况下,我们可以使用变量值的条件设置数据断点.
还有其他例子吗?
c++ debugging breakpoints conditional-breakpoint visual-studio
我有进程ID,我想得到它的进程句柄.
有没有可用的API.
我尝试使用OpenProcess但它返回NULL,并且GetLastError = 0.
这是我在尝试Vista.
我想我需要在使用OpenProcess之前启用SeDebugPrivilege.但是为了启用SeDebugPrivilege,我需要获得它的Process句柄.
我们有一个像下面这样的阵列
{1 0 1 0 0 1 0 1}
Run Code Online (Sandbox Code Playgroud)
上面数组中的位数是8
如果我们取范围,[1,5]则范围内的位数[1,5]是[0 1 0 0 1].
如果我们翻转这个范围,那么在翻转后它将是[ 1 0 1 1 0]
翻转[1,5]范围后的总数为1[1 1 0 1 1 0 0 1] = 5
如果我们取范围,[1,6]那么[1,6]范围内的位数是[0 1 0 0 1 0].
如果我们翻转这个范围,那么在翻转之后它将是[ 1 0 1 1 0 1]
翻转[1,5]范围后的总数为1[1 1 0 1 1 0 1 1] = 6
所以答案是范围[1,6],翻转后我们可以获得6个1的数组
有没有一个好的算法可以解决这个问题.我只想到动态编程,因为这个问题可以分解为可以组合的子问题.
我在VC++中创建了一个DLL作为Win32项目
DLLMAIN函数是
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;
}
Run Code Online (Sandbox Code Playgroud)
现在我需要DLL的HINSTANCE,需要传递给Win32函数.
HMODULE和HINSTANCE相同吗?
我怎样才能获得HINSTANCE?
我花了很多时间研究VIM.我是自从过去6年以来的Windows家伙,并且正在使用VS. 现在开始研究Linux了.我想让VIM尽可能接近VS. 我想在Project AutoCompletion中搜索不同选项卡中的项目导航文件等功能
我找到了上述要求的插件Project Pligin MiniExplore Taglist OmniComplete
我无法正确设置vimrc脚本.当我尝试从Project打开文件时,它会在不同的选项卡中打开.我想在不同的缓冲区中打开它.此外,当我想在缓冲区中关闭文件时,完整窗口将关闭.打开标签列表和项目窗口会让一切变得混乱.
有没有人用这些插件完成设置..你们可以发贴你的vimrc文件吗?它会为像我这样的新手节省很多时间..
$ firebase init
! Caution! Initializing outside your home directory
? What Firebase do you want to use? (Use arrow keys)
Run Code Online (Sandbox Code Playgroud)
我试图按箭头键但没有发生任何事情.在做firebase init什么时如何选择现有的firebase应用程序?