标签: visual-c++

VC++ 6中'for循环'的终止条件是否刷新?

for (int i = 0 ; i < stlVector.size() ; i++)
{ 
    if (i == 10)
    { 
        stlVector.erase(stlVector.begin() + 5 )
    }
}
Run Code Online (Sandbox Code Playgroud)

终止条件部分"stlVector.size()"是否考虑"stlVector.erase(...)"?换句话说,每次循环迭代都会刷新stlVector.size()吗?我现在无法测试,所以我在这里发了一个问题.

Thx提前!

最好的祝福,

zhengtonic

c++ for-loop termination visual-c++-6 visual-c++

0
推荐指数
1
解决办法
1169
查看次数

为什么strlen()似乎在VC++调试器中返回<void>?

我有一个C++类型的字符串const char*作为参数传递给strlen,但它返回void.

它就像

strlen(astruct.string);
Run Code Online (Sandbox Code Playgroud)

谢谢..

编辑:做了一些检查,

strlen("test");
Run Code Online (Sandbox Code Playgroud)

仍然无效......为什么?

编辑:这是图像 http://img14.imageshack.us/img14/1808/strlen.png

很抱歉以前不清楚.格式化效果不佳.无论如何,Evan Teran和Vlad Romascanu都解决了混乱.另请参阅Brian R. Bondy的回答.

谢谢.随意关闭.

c++ string visual-c++-6 visual-c++

0
推荐指数
1
解决办法
1465
查看次数

延迟带宽

DUPE:如何以编程方式检查VC++中的Internet带宽?

我们可以从ping的延迟中找到带宽.如果是,它是如何完成的

networking ping wininet visual-c++

0
推荐指数
2
解决办法
1348
查看次数

sqlucode.h头文件的C++ ODBC问题

我在这里找到了一个很棒的C++/ODBC示例......

我下载的项目构建很好,一切正常.但是,当我将.cpp和.h文件复制到另一个项目时,我似乎有一个链接问题.

SQLConnect在sql.h功能是一个我想要的.当我easyodbc.h在我下载的项目中的文件中右键单击此函数时,它会跳转到sql.h中的声明.生活很好.

但是,在我创建的项目中,当我这样做时,它跳转到sqlucode.h中的UNICODE定义.这似乎导致了问题,我的测试项目崩溃了.

#include在项目的任何地方都没有sqlucdode.h,但它仍然将声明解析为sqlucode.h中的声明.我怎么能阻止这个?谢谢.

linker odbc visual-c++

0
推荐指数
1
解决办法
3719
查看次数

坚持使用C++模板 - 从std :: map派生

我将扩展现有的std :: map类并为其添加一个新函数:

template<typename key_type, typename value_type>
class CleanableMap : public Cleanable, public std::map<key_type, value_type> 
{
    CleanableMap(const CleanableMap& in); //not implemented
    CleanableMap& operator=(const CleanableMap& in); //not implemented
public:
    CleanableMap() {}
    CleanableMap(const std::map<key_type, value_type>& in) { *this = in; }
    virtual ~CleanableMap() {}
    std::map<key_type, value_type>& operator=(const std::map<key_type, value_type>& in)
    {
        *((std::map<key_type, value_type>*)this) = in;
        return *this;
    }
};
Run Code Online (Sandbox Code Playgroud)

我有一个复制构造函数和赋值运算符,这样我就可以简单地将一个相同类型的现有std :: map分配给我的新映射:

CleanableMap<DWORD, DWORD> cm;
std::map<DWORD, DWORD> stdm;
cm = stdm;
Run Code Online (Sandbox Code Playgroud)

问题是,编译器抱怨一个没有意义的错误 - 我明确地编码了它抱怨的内容:

1>c:\dev\proj\commonfunc.cpp(399) : error C2679: binary '=' : no …
Run Code Online (Sandbox Code Playgroud)

c++ templates stl visual-c++

0
推荐指数
2
解决办法
4097
查看次数

如何在没有响应的情况下禁用关闭应用程序?

如何在没有响应的情况下禁用关闭应用程序并等待它恢复?

mfc visual-c++

0
推荐指数
1
解决办法
722
查看次数

是否有任何工具可以改善vc ++中的intellisense(vs2008)?

是否有任何免费工具可以改进Intellisense并在vc ++ 2008中提供代码片段?请不要发布商业工具

c++ intellisense visual-studio-2008 visual-studio visual-c++

0
推荐指数
1
解决办法
321
查看次数

如何重载<<运算符?

我打算在调用时调用函数m_logger<<"hello"<<"world".m_logger属于ofstream类型.

所以我决定用以下签名重载<<

friend ofstream& operator<<(ofstream &stream,char *str);
Run Code Online (Sandbox Code Playgroud)

但是vc编译器会出现以下错误:

错误C2666:'operator <<':6次重载具有类似的转换

有没有其他方法可以实现这一点,我的目标是将所有写操作转移到ofstream对象到不同的功能?

创建我自己的calss对象对我有用,但是我怎样才能使它像普通的ofstream对象一样工作,它将所有系统定义的类型转换为字符串或char*.我知道一种方法是为每种类型的操作员重载但是有一种更清洁的方法

c++ operator-overloading operators visual-c++ operator-keyword

0
推荐指数
1
解决办法
1743
查看次数

Visual C++开发

我正在学习C++,并且熟悉一点Visual Basic和Delphi.

但我想知道,有些程序如Delphi,但对于C++.您可以将按钮拖动到表单,双击它,Delphi和VB中的类似的东西:打开代码编辑器,然后编辑按钮的代码,但是使用类似的C++代码?

我正在使用Windows Vista.

c++ windows windows-vista visual-c++

0
推荐指数
1
解决办法
262
查看次数

如何在win32 API中向Skins添加控件

我已经通过win32 API在VC++中创建了一个皮肤.现在我想为皮肤添加控件.怎么能实现这一目标?

winapi visual-c++

0
推荐指数
1
解决办法
357
查看次数