问题列表 - 第15003页

为清晰起见,是否应使用返回类型的无用类型限定符?

当我们在头文件中有原型时,我们的静态分析工具会抱怨"返回类型上的无用类型限定符",例如:

const int foo();
Run Code Online (Sandbox Code Playgroud)

我们这样定义它是因为函数返回一个永远不会改变的常量,认为API似乎更清晰const.

我觉得这类似于为了清楚明确地将全局变量初始化为零,即使C标准已经声明如果未明确初始化所有全局变量将被初始化为零.在一天结束时,它真的没关系.(但静态分析工具并没有抱怨.)

我的问题是,有什么理由可以导致问题吗?我们是否应该忽略该工具产生的错误,或者我们是否应该以不太清晰和一致的API的可能成本来安抚该工具?(它返回const char*该工具没有问题的其他常量.)

c static-analysis coding-style const

11
推荐指数
2
解决办法
5604
查看次数

可能有枚举字符串?

我希望有一个枚举,如:

enum FilterType
{
   Rigid = "Rigid",
   SoftGlow = "Soft / Glow",
   Ghost = "Ghost",
}
Run Code Online (Sandbox Code Playgroud)

怎么做到这一点?有一个更好的方法吗?它将被用于一个对象的实例,它将被序列化/反序列化.它也会填充下拉列表.

.net c# enums

7
推荐指数
2
解决办法
572
查看次数

如何在C#中传递指向整数的指针

我有一个带有签名的C API:

int GetBuffer(char* buffer, int* maxSize)
Run Code Online (Sandbox Code Playgroud)

在C中,我将这样称呼它:

char buffer[4096];
int maxSize = 4096;
GetBuffer(buffer, &maxSize);
Run Code Online (Sandbox Code Playgroud)

maxSize设置为缓冲区大小,并设置为填充的实际大小.

我需要从C#调用它.我如何在"安全模式"下执行此操作?

c c# pinvoke interop

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

减少附加和加载符号的时间

一般来说,您对此有何建议?目前,我需要将近10分钟的时间来附加到托管SharePoint 2007的本地运行的IIS进程.

debug-symbols visual-studio visual-studio-debugging pdb

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

命名决定:在一个单词中"如果它不存在则创建它"

完全重复

我有一个函数来检查某个东西是否存在,如果不存在,则创建它.什么是好话呢?现在我正在使用"维护",因此调用该函数maintain_buffer_on_path,但我认为"维护"是误导性的.你能想到一个更好的单字名称吗?

naming

6
推荐指数
2
解决办法
353
查看次数

在SSIS中使用临时表

我在SQL Server中的存储过程中使用临时表.我试图在OLE DB源代码编辑器中使用该SP.

我可以看到在Build Query按钮附带的Query Builder中返回的数据输出.但是,当我单击列选项卡时,我收到以下错误.

- TITLE:Microsoft Visual Studio

数据流任务错误[OLE DB源[1]]:SSIS错误代码DTS_E_OLEDBERROR.发生OLE DB错误.错误代码:0x80004005.OLE DB记录可用.来源:"Microsoft SQL Server Native Client 10.0"Hresult:0x80004005描述:"无效的对象名称'## Payment'.".

数据流任务出错[OLE DB源[1]]:无法从数据源检索列信息.确保数据库中的目标表可用.

这是否意味着我不能在SP中使用临时表,如果我希望它被SS​​IS使用

ssis sql-server-2008 visual-studio-2008

8
推荐指数
3
解决办法
2万
查看次数

C++初始化动态数组元素

const size_t size = 5;
int *i = new int[size]();

for (int* k = i; k != i + size; ++k)                                            

{                                                                               
 cout << *k <<  endl;                                         

}         
Run Code Online (Sandbox Code Playgroud)

即使我有值使用()运算符初始化动态数组元素,我得到的输出是

135368
0
0
0
0
Run Code Online (Sandbox Code Playgroud)

不知道为什么第一个数组元素被初始化为135368.

有什么想法吗 ?

c++

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

复合模式是SOLID吗?

叶在综合模式实现了Component接口,包括Add,Remove,和GetChild方法,一个叶是永远不会使用.这似乎违反了接口隔离原则.

那么复合模式SOLID的用法是什么?

链接到Composite Pattern:http://www.dofactory.com/Patterns/PatternComposite.aspx

design-patterns liskov-substitution-principle composite solid-principles interface-segregation-principle

11
推荐指数
2
解决办法
2389
查看次数

以有效的方式将C字符串转换为std :: vector <byte>

我想将C风格的字符串转换为字节向量.一个可行的解决方案是手动转换每个字符并将其推送到矢量上.但是,我对这个解决方案并不满意,并希望找到一种更优雅的方式.

我的一次尝试如下:

std::vector<byte> myVector;
&myVector[0] = (byte)"MyString";
Run Code Online (Sandbox Code Playgroud)

哪些错误并让我得到一个

错误C2106:'=':左操作数必须是l值

这样做的正确方法是什么?

c++ vector

5
推荐指数
2
解决办法
2万
查看次数

从头开始创建,还是从头开始构建?

我正在考虑构建一种类似于Scratch 的可视化编程语言,供儿童(又名可怜的打字员)在对微控制器或机器人进行编程时使用。

例如,有一个为 Arduino 构建图形编程环境的项目。

我真的很喜欢 Scratch,并且希望图形编码是类似的。 Scratchs 源代码可在其自己的免费许可下使用。它是用Squeak(基于Smalltalk)编写的,我不懂这种语言。

我突然想到可能还有其他项目可以构建。当我浏览维基百科的图形语言列表时,我没有看到太多开源且可以构建的语言。

我熟悉 C/C++、Python 和一点 Objective C。如果我要从头开始构建自己的项目,我想我会使用 Qt 库因为我想构建跨平台的东西,但是不幸的是,我也不知道。

如果我有无限量的时间来研究它,你可以打赌我会学习 Squeak 和 Qt,并对所有现有的可视化编程项目进行详尽的搜索。事实并非如此,我想征求意见:

  • 我应该考虑使用现有的项目吗?
  • 你会推荐学习 Squeak、Qt 或者其他东西吗?

c++ qt squeak graphical-programming mit-scratch

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