小编Ben*_*igt的帖子

静态本地的C与C++初始化

我在C和C++中都有以下代码

static void callback(char const* fname, int status)
{
  static char const* szSection = fname;
  //other stuff
}
Run Code Online (Sandbox Code Playgroud)

在C++中,这可以在没有警告或错误的情况下编译.在CI中获取编译错误"初始化程序不是常量".为什么两者之间有所不同?我正在为Visual Studio 2008使用VC9编译器.

我正在尝试将文件名作为输入,并在第一次设置文件的路径.所有进一步的回调都用于检查文件中的更新,但路径本身不允许更改.我在char const*中使用了正确的变量吗?

c c++

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

是否存在使用不会丢弃物体的情况?

是否有任何情况下使用不会处理它应该处理的对象?

例如,

using(dbContext db = new dbContext()){ ... }
Run Code Online (Sandbox Code Playgroud)

有没有办法在最后一个}数据库仍然存在之后?

如果出现这种情况怎么办:

object o =  new object();
using(dbContext db = new dbContext()){
 o = db.objects.find(1);
}
Run Code Online (Sandbox Code Playgroud)

是否有可能o保持db活力?

c# using-statement

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

"使用"语句是"坏代码"吗?

我读过这样的用法:

using (myObject)
{
   myObject.DoStuff();
}
Run Code Online (Sandbox Code Playgroud)

可以这样想:

try
{
   myObject.DoStuff();
}
finally
{
   myobject.Dispose()
}
Run Code Online (Sandbox Code Playgroud)

因此,如果myObejct.DoStuff抛出ExceptionA然后myObject.Dispose()也抛出异常(ExceptionB),那么ExceptionA将丢失.(有关更好的说明,请参阅此处MSDN示例.)

这是否意味着如果使用块代码中的代码可能抛出异常(大多数代码是正确的?)那么using语句是不好的做法?

c# exception-handling using-statement

4
推荐指数
3
解决办法
726
查看次数

在C++中,(long long)x与(long long)floor(x)相同吗?

假设我有一个双数据类型,变量名为'x'.是否有必要将double转换为long long数据类型给出与转换为long long floor(x)相同的结果.

c++ casting rounding

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

json 净前导零(禁用基数转换)

Json.Net 无法正确反序列化带有前导零的数字。

例如{ "number":010 }识别为 8(因为0108 基等于810 基)

如果看JsonTextReader.ParseNumber()你可以看到

long value2 = text2.StartsWith("0x", StringComparison.OrdinalIgnoreCase) ? Convert.ToInt64(text2, 16) : Convert.ToInt64(text2, 8);
Run Code Online (Sandbox Code Playgroud)

怎么可能禁用 base-cast?也许可以更换JsonTextReader

c# json json.net

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

在整个代码库中重构"使用"指令?

我喜欢Visual Studio 2008的一个原因是能够重构和重新组织源代码文件中的"using"指令(这可能也是在2005年,我不记得了).

具体来说,我在谈论如何让它重新组织指令按字母顺序排列(尽管核心FCL库浮动到顶部)并删除任何不需要的指令(从未使用或不再使用)用过的).

有没有办法在整个旧代码库中自动进行重构(排序和修剪)?通过解决方案中的所有文件或跨多个解决方案文件.

c# refactoring using-directives visual-studio-2008

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

Visual Studio 2010托管的c ++以.NET 2.0问题为目标

对于那些走在这条路上的人,请分享你的面包屑.

我有旧的VS2005解决方案.大多数部分都是c#,但我有一个c ++托管项目.开发机器:Windows XP.目标框架版本:2.0

我将项目移动到Windows 7 64 BIT,VS 2010,进行了项目转换.我注意到的第一件事是构建错误 - 项目取决于c ++中的内容,抱怨所引用的项目具有目标4.0,我想在项目中使用它(正确地)定位2.0.

好的,所以我使用了一些技巧并将我的项目目标设置为.NET 2.0.现在:VS2010抱怨它无法加载项目因为我需要安装framework 2.0.好的,所以我尝试安装它,什么也没做 - 因为安装程序检测到.NET 2.0是操作系统的一部分.

WTF?

管理员,请在这里为我创建WTF标签:)

64-bit c++-cli visual-studio-2010 .net-2.0

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

在文本文件上调用ReadFile,得到了奇怪的(日文?)字符

我使用下一个代码从一个文件中读取所有元素,其中包含有效的句柄hFile,以及我使用它的大小GetFileSize(hFile, NULL).

_TCHAR* text = (_TCHAR*)malloc(sizeOfFile * sizeof(_TCHAR));
DWORD numRead = 0;
BOOL didntFail = ReadFile(hFile, text, sizeOfFile, &numRead, NULL);
Run Code Online (Sandbox Code Playgroud)

操作之后text是日语中的一些奇怪的东西,而不是文件的内容.

我做错了什么?

编辑:我理解这是编码问题,但是如何将文本转换为LPCWSTR以使用WriteConsoleOutputCharacter之类的东西

c c++ io

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

函数内部的函数

function1()
    {
        statement1;
        statement2;
        function2()
        {
                statement3;
                statement3;
        }
    } 
Run Code Online (Sandbox Code Playgroud)

为什么控制不进入function2,即使两个函数的返回类型相同

c gcc nested-function

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

Visual C++ 2010代码完成

我已经使用了c#一段时间了,我注意到它有代码预测你的代码和"解析" using的功能.我现在正在使用visual c ++,我注意到它没有代码预测,并且它没有任何"解决"任何缺失include.

这是您必须在visual c ++中启用的设置吗?或者您是否必须了解所包含功能所需的内容?

我只是好奇我已经学会了C和IDE的C没有代码预测.我现在正在学习c ++,我很想知道visual c ++是否有代码预测或智能包含分辨率.

谢谢Stack,我最喜欢的网站!

c++ intellisense visual-studio-2010 visual-studio

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