小编Bo *_*son的帖子

函数指针和虚函数

我想我的问题应该是愚蠢的,但我确实从未见过声明为虚拟的函数指针.是否有一个原因?

编辑:

我应该说:它指向的功能是否可能被指定为虚拟?

c++ polymorphism

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

是内存泄漏,还是函数调用的限制,还是什么?

我正在编写一个使用大量递归函数的C程序.我还使用动态列表来存储一些数据,同时递归.我实现了Push功能将数据推送到列表中.

几次调用推送功能"> 17,000次"后,我收到以下错误:

Prob中0x77963c47处的未处理异常 - Cap CE.exe:0xC00000FD:堆栈溢出.
return HeapAlloc(_crtheap, 0, size ? size : 1);那里从stack->listNode = malloc(sizeof(struct Node));Push函数调用.

我打开任务管理器,发现我还有很多可用内存.所以我猜这不是内存泄漏问题.

我可以添加到列表中的数量是多少,或者我可以调用多少次函数?

c memory

1
推荐指数
2
解决办法
200
查看次数

try {} catch(){} c ++

我有以下方法:

class MyClass 
{
public:
    MyClass;

    bool method (MyClass &obj);
};

void MyClass::method (MyClass &obj)
{
    MyClass *c = new MyClass;
    try{
        //code 
        //access another method 
        return true;
    }
    catch (std::string s)
    {
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

我应该在哪里删除之前或之前指向c对象的指针 ?MyClass:return truereturn false

c++ try-catch

1
推荐指数
2
解决办法
918
查看次数

当函数返回时,变量是否会超出范围?

void main()
{
    File f;
    DoSomething(f);
    DoSomething2(&f);
}

void DoSomething(File& f)
{
    f.Process();
} // will f go out of scope when this function returns?

void DoSomething2(File* f);
Run Code Online (Sandbox Code Playgroud)

两个问题:

  1. 如注释中所示,当函数返回时,f是否会超出范围?
  2. 你建议用引用或指针写函数吗?(我说的是私人功能)

c++ scope

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

从URL问题中保存图像

我正在尝试从URL下载图像:http: //appworld.blackberry.com/webstore/servedimages/340582.png?t = 2

我在用 HttpWebRequest webRespose Stream BinaryReader FileStream BinaryWriter

这适用于其他网站和图像,但我在上面给出的网址给了我一个空的0字节文件..

这意味着我无法保存该URL中的图像.

有没有人可以帮助我?

c# url image

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

如何将Visual Studio 2010与Visual C++ 2008编译器一起使用?

我想将Visual Studio 2010与9.0编译器一起使用,我该怎么做?

我需要这个,所以我可以使用DarkGDK,但我不想切换IDE.

c++ ide visual-studio

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

Strlen返回不合理的数字

如果我写:

char  lili [3];
cout<<strlen(lili)<<endl;
Run Code Online (Sandbox Code Playgroud)

那么印刷的是:11

但如果我写:

char  lili [3];
lili [3]='\0';
cout<<strlen(lili)<<endl;
Run Code Online (Sandbox Code Playgroud)

然后我得到3.

我不明白为什么它在第一部分返回11?
strlen不应该返回3,因为我分配了3个字符lili

c++ strlen

1
推荐指数
2
解决办法
344
查看次数

我可以在两个istream_iterator之间进行赋值操作吗?

我可以在两个istream_iterator之间进行赋值操作吗?如果是,那么行为是什么,即迭代器是否指向文件中的相同位置,即我们是否会获得两个指向文件中同一行的指针?

如果是这样,我可以递增一个迭代器,读取一些行,然后将其分配回其他迭代器,然后再次从我们之前的同一位置开始读取行吗?

基本上我想编写一个模拟for循环的程序.但这应该在解析文件时发生.

c++

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

第一次使用boost - 为什么我不必在构建时明确链接到它?

在回答我最近的一个问题时,有人建议我在boost中使用一个函数来解决我的问题.这是我第一次使用boost,所以我添加了以下.hpp文件

#include <boost/algorithm/string.hpp>
Run Code Online (Sandbox Code Playgroud)

和函数调用

boost::replace_all(marketPrices, "\\:", "-COLON-");
Run Code Online (Sandbox Code Playgroud)

到我的源文件,然后运行make来正常使用g ++构建我的应用程序.

此时我意识到我没有在makefile中的链接步骤中添加任何新库,并完全期望链接步骤失败.令我惊讶的是,它并没有失败 - 不仅如此,而且代码完全按照应该没有任何投诉的方式运行.

这至少让我惊讶 - g ++如何知道链接到什么以及为什么会自动这样做?或者我错过了一些与boost库运行方式相关的基础知识?我知道,提升使用了大量的模板的,这是C++,我不是太熟悉,所以我想知道如果这也许有事情做与我所看到的一个方面.

c++ linker boost g++

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

未使用模板专业化

我定义了以下功能:

template <typename T> buffer_t &operator<<(buffer_t &buffer, T data);
template <> buffer_t &operator<<(buffer_t &buffer, const char *data);
template <> buffer_t &operator<<(buffer_t &buffer, const Glib::ustring &data);
Run Code Online (Sandbox Code Playgroud)

我打电话的时候:

buffer << Glib::ustring("hello");
Run Code Online (Sandbox Code Playgroud)

编译器使用通用模板定义而不是Glib :: ustring的特化.

我在这做错了什么?

c++ templates

1
推荐指数
2
解决办法
1082
查看次数

标签 统计

c++ ×8

boost ×1

c ×1

c# ×1

g++ ×1

ide ×1

image ×1

linker ×1

memory ×1

polymorphism ×1

scope ×1

strlen ×1

templates ×1

try-catch ×1

url ×1

visual-studio ×1