小编Kat*_*ory的帖子

关于内存分配和 C++

我从 MSDN http://msdn.microsoft.com/en-us/library/aa366533(VS.85).aspx引用:

malloc 函数的缺点是依赖于运行时。new 运算符的缺点是依赖于编译器和语言。

现在问题来了:

a) malloc 依赖于运行时是什么意思?什么样的动态内存分配函数可以独立于运行时?这个说法听起来很奇怪。

b) new 依赖于语言吗?当然应该是对的?HeapAlloc、LocalAlloc 等语言是否独立?

c) 从纯粹的性能角度来看,MSVC 提供的例程是否更可取?

阿潘

c++ visual-studio visual-c++

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

获取要继承的函数的函数

假设我有一个AnimalCow继承的基类,以及一个Barn包含Animal向量的类,让我们假设Animal类有一个虚函数scream(),它Cow会覆盖.

使用以下代码:

Animal.h

#ifndef _ANIMAL_H
#define _ANIMAL_H
#include <iostream>
using namespace std;

class Animal {
public:
    Animal() {};
    virtual void scream() {cout << "aaaAAAAAAAAAAGHHHHHHHHHH!!! ahhh..." << endl;}
};

#endif  /* _ANIMAL_H */
Run Code Online (Sandbox Code Playgroud)

Cow.h

#ifndef _COW_H
#define _COW_H

#include "Animal.h"

class Cow: public Animal {
public:
    Cow() {}
    void scream() {cout << "MOOooooOOOOOOOO!!!" << endl;}
};

#endif  /* _COW_H */
Run Code Online (Sandbox Code Playgroud)

Barn.h

#ifndef _BARN_H
#define _BARN_H

#include "Animal.h"
#include <vector> …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance

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

Visual Studio 2008中C#项目中的C++项目引用

是否可以在C#项目中引用C++项目?我已经尝试在c#项目中添加一个引用到那个C++但是我收到一个错误,上面写着"无法添加引用"

c# c++ visual-studio

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

如何将工具栏添加到Visual Studio加载项?

我创建了一个新的Visual Studio加载项项目.我的项目能够向Visual Stuido菜单添加命令.此代码由向导创建.如何将自定义工具栏添加到Visual Studio?

visual-studio-addins visual-studio-2008 vs-extensibility

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

这个宏有什么作用?__success(return> = 0)long

在Windows头文件WinNT.h中,HRESULT定义如下:

typedef __success(return >= 0) long HRESULT;
Run Code Online (Sandbox Code Playgroud)

做了一些研究我了解到"__ccess"宏是Microsoft源代码注释语言SAL的一部分,并在sal.h中定义.但对于我的生活,我无法弄清楚它的作用或它是如何做到的.

提前致谢.

托德

annotations hresult visual-c++

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

Windows Phone 7 - 购买开发者设备

我在哪里可以购买Windows Phone 7开发者设备?它要多少钱?

windows-phone-7 windows-phone

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

为什么有不同的Ruby On Rails版本?

免责声明:我对Ruby on Rails完全不熟悉,但计划学习它.

今天早上我一直在阅读有两个新的Ruby On Rails版本(2.3.11和3.0.4).

我不明白为什么人们(ROR社区)正在工作(维护)不同的版本?开发人员有哪些好处?

versions ruby-on-rails

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

为什么这么多示例链接列表将下一个指针放在每个节点的末尾而不是在开头?

我在这个站点上看到了很多链接列表的C实现示例,并且大多数将下一个指针放在每个节点的末尾,就像这样......

struct intNode1 {
   int data;
   intNode1 *next;
};
Run Code Online (Sandbox Code Playgroud)

为什么他们这样实现它们而不是像这样?

struct node {
   struct node *next;
};

struct intNode2 {
   struct node node;
   int data;
};
Run Code Online (Sandbox Code Playgroud)

后一种实现链表的方法允许您的插入和删除代码在任何类型的节点上工作,并允许您创建通用列表类型,而前一种方式强制您从头开始实现每种类型的列表.

例如,这是使用两种节点的单链表的(不完整)实现:

struct intList {
   struct intNode1 *head;
};

struct list {
   struct node *head;
};
Run Code Online (Sandbox Code Playgroud)

现在,显然需要比较它的节点的泛型列表上的任何操作都需要一个指向比较函数的函数指针,但这通常可以隐藏在列表的不太通用的接口的实现中.例如:

/* Returns zero if successful or nonzero otherwise */
int list-insertInt(struct list *list, int n) {
   struct intNode2 * newNode;
   if(!(newNode = malloc(sizeof *newNode)) {
      return -1;
   }
   newNode->data = n;
   return list-insertNode(list, (struct node *)newNode);
} …
Run Code Online (Sandbox Code Playgroud)

c linked-list

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

Perl更新 - 我应该重新安装模块吗?

从Perl更新5.145.14.1?时,我应该重新安装模块吗?

installation perl module

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

VSIX包不包含引用程序集的本地化资源

我正在创建一个VS2010扩展(我们称之为MyExtension).此扩展的UI位于不同的程序集(MyExtension.UI)中,扩展项目仅包含用于从菜单命令调用UI的样板代码.

MyExtension.UI包含本地化资源(例如fr\MyExtensions.UI.resources.dll),但VSIX包不包含这些资源(尽管它们存在于bin\Debug目录中).

我该如何告诉VS将这些资源包含在VSIX包中?我查看了.vsixmanifest设计师,但我找不到合适的选项......

localization visual-studio-2010 vs-extensibility vsix

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