小编Ati*_*man的帖子

如何初始化unsigned char指针

我想初始化一个 长度为1500 的unsigned char*缓冲区,以便我可以从其他来源存储值.

c c++ pointers char unsigned-char

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

为什么使用简单加法和减法的交换不会溢出?

我的印象是,当我们提供接近最大整数限制的输入时,只使用X-OR进行交换.令人惊讶的是,使用加法和减法的这种简单交换也适用于那些输入.

#include <iostream>

void simple_swap(int &x, int &y) {
    x += y;
    y = x - y;
    x -= y;
}

int main() {
    int a = 10; int b = 15;

    /* Testing integer overflow, sum has 1 bit outside of 4-bytes integer limit */
    a = 0xFFFFFFFF;     // a is 2^32-1 = 4294967295
    b = 0xFFFFFFFE;     // b is 2^32-2 = 4294967294

    std::cout << "Before swap " << "a = " << (unsigned int)a << ", b=" << …
Run Code Online (Sandbox Code Playgroud)

c++ visual-studio

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

标签 统计

c++ ×2

c ×1

char ×1

pointers ×1

unsigned-char ×1

visual-studio ×1