相关疑难解决方法(0)

static_cast <>和C样式转换有什么区别?

有什么理由喜欢static_cast<>超过C风格的演员吗?它们是等价的吗?他们有什么速度差异吗?

c++ casting static-cast

188
推荐指数
7
解决办法
8万
查看次数

指针可以有不同的大小吗?

这个答案附带了一个有趣的声明 - "在int*小于a的机器上char*".(让我们排除指向函数的指针)

指向不同类型的指针是否有可能具有不同的大小?为什么这会有用?

c++ pointers language-lawyer

16
推荐指数
3
解决办法
844
查看次数

类型转换长指针问题

  char *sBuffer=new char[20];
    char * sStringStart = sBuffer;

    long * plMsgStart = (long *) sBuffer;// what is this line doing

    long i=500;

    *plMsgStart = i // what is this line doing
Run Code Online (Sandbox Code Playgroud)

最后一行是否在char数组中分配500?但是当我打印数组时,我得到了垃圾值

嘿,下面的人是实际的代码,我在将代码从c ++转换为c#时遇到了它,下面的代码是c ++函数的一部分,现在为什么下面的函数会给出垃圾值?

char *sBuffer=new char[20];
char * sStringStart = sBuffer;
BSTR bsMsgBody= SysAllocString(L"Helo");
sStringStart+=4;
long * plMsgStart = (long *) sBuffer;

long l=50;

*plMsgStart=l;

sprintf(sStringStart, "%S", bsMsgBody);

printf("%S",sBuffer);
Run Code Online (Sandbox Code Playgroud)

c c++

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

标签 统计

c++ ×3

c ×1

casting ×1

language-lawyer ×1

pointers ×1

static-cast ×1