小编unw*_*ind的帖子

XOR变量交换如何工作?

有人可以向我解释如何在没有临时变量的情况下对两个变量进行XOR交换吗?

void xorSwap (int *x, int *y)
{
    if (x != y) {
        *x ^= *y;
        *y ^= *x;
        *x ^= *y;
    }
}
Run Code Online (Sandbox Code Playgroud)

我明白它做了什么,但有人可以告诉我它是如何工作的逻辑吗?

language-agnostic bit-manipulation xor

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

C++中的无符号双精度?

为什么C++不支持无符号双重语法?

c++ double unsigned

63
推荐指数
3
解决办法
6万
查看次数

循环遍历JSON对象列表

我从Web服务返回List <>作为JSON对象列表.我试图使用for循环迭代列表并从属性中获取值.这是返回JSON的示例:

{"d":[{"__type":"FluentWeb.DTO.EmployeeOrder",
 "EmployeeName":"Janet Leverling",
 "EmployeeTitle":"Sales Representative",
 "RequiredDate":"\/Date(839224800000)\/",
 "OrderedProducts":null}]}
Run Code Online (Sandbox Code Playgroud)

所以我试图用这样的东西提取内容:

function PrintResults(result) {

for (var i = 0; i < result.length; i++) { 
    alert(result.employeename);
}
Run Code Online (Sandbox Code Playgroud)

该怎么做?

javascript jquery json web-services

62
推荐指数
6
解决办法
36万
查看次数

在纯C中实现RAII?

是否有可能在纯C中实现RAII

我认为不可能以任何理智的方式,但也许可能使用某种肮脏的技巧.重载标准free函数会想到或者可能覆盖堆栈上的返回地址,这样当函数返回时,它会调用一些其他函数以某种方式释放资源?或者也许有一些setjmp/longjmp技巧?

这纯粹是学术上的兴趣,我无意写出这种不可移植和疯狂的代码,但我想知道这是否可能.

c raii

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

什么更快,用vector :: iterator或with()迭代STL向量?

在性能方面,什么会更快?有区别吗?它是平台依赖的吗?

//1. Using vector<string>::iterator:
vector<string> vs = GetVector();

for(vector<string>::iterator it = vs.begin(); it != vs.end(); ++it)
{
   *it = "Am I faster?";
}

//2. Using size_t index:
for(size_t i = 0; i < vs.size(); ++i)
{
   //One option:
   vs.at(i) = "Am I faster?";
   //Another option:
   vs[i] = "Am I faster?";
}
Run Code Online (Sandbox Code Playgroud)

c++ performance iterator stl vector

57
推荐指数
6
解决办法
6万
查看次数

如何通过指定alpha混合量来计算RGB颜色?

我正在编写一个颜色选择器,可以从屏幕上的任何位置获取像素RGB值.我想也可以选择指定我选择的颜色已经具有alpha值.我只是想知道如何计算得到的颜色.

例如:

得到的像素颜色是240,247,249,但我知道原始颜色的不透明度为10%,并且背景为白色(255,255,255).计算原始RGB值的计算是什么?

math alphablending colors

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

Python argparse和bash完成

我想在我的python脚本中也可以在参数中自动完成.

我从来没有真正理解bash_completion是如何工作的(对于参数),但是在我深入了解之后我明白了:

  1. 它使用"完成"将完成函数绑定到命令
  2. 每个完成函数基本上都是参数解析器的副本

第二点尤其不是很好,因为我想让它自动生成.

最好的事情是shell会在每个TAB上向我的程序询问要完成什么,但我的印象是这不能真正起作用,这是正确的吗?

第二个选项可能只是将一个转换器从argparse解析器写入一个正确完成的shell函数.

python argparse bash-completion

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

C++中的L前缀究竟是什么?

我理解它的作用:将字符串文字指定为const wchar_t *(宽字符串)而不是const char *(普通旧字符),但它是如何实际定义的?

它是某种宏吗?它是GCC编译器的运算符吗?这什么?

c++ string widestring

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

C中的关联数组

我正在实现一种将一组数据传输到可编程加密狗的方法.加密狗基于智能卡技术,可以在内部执行任意代码.输入和输出数据作为二进制块传递,可通过输入和输出指针访问.

我想使用关联数组来简化数据处理代码.一切都应该这样:

首先是主机应用程序:

// Host application in C++
in_data["method"] = "calc_r";
in_data["id"] = 12;
in_data["loc_a"] = 56.19;
in_data["loc_l"] = 44.02;
processor->send(in_data);
Run Code Online (Sandbox Code Playgroud)

接下来加密狗内的代码:

// Some dongle function in C
char* method_name = assoc_get_string(in_data, "method");
int id = assoc_get_int(in_data, "id");
float loc_a = assoc_get_float(in_data, "loc_a");
float loc_l = assoc_get_float(in_data, "loc_l");
Run Code Online (Sandbox Code Playgroud)

所以我的问题是关于加密狗部分的功能.是否有C代码或库来实现如上所述的关联数组行为?

c arrays associative-array dongle

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

想知道Linux机器上是否有足够的内存来部署新的应用程序

我有一台linux机器,当我执行/ proc/meminfo时它的内存快照是:

MemTotal:     16413388 kB
**MemFree:         48296 kB**
Buffers:        193600 kB
Cached:        1986448 kB
SwapCached:     874512 kB
Active:       15034264 kB
Inactive:       713672 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:     16413388 kB
LowFree:         48296 kB
SwapTotal:     8385920 kB
SwapFree:      4682408 kB
Dirty:            3124 kB
Writeback:           0 kB
Mapped:       13005560 kB
Slab:           257784 kB
CommitLimit:  16592612 kB
Committed_AS: 59624324 kB
PageTables:     233748 kB
VmallocTotal: 536870911 kB
VmallocUsed:    267064 kB
VmallocChunk: 536603555 kB
HugePages_Total:     0
HugePages_Free:      0
Hugepagesize:     2048 kB
Run Code Online (Sandbox Code Playgroud)

这是一个16 GB的机器,我有一个Java应用程序要部署在它上面,它将有3个jvm实例,并且它们的组合典型内存要求将接近1 …

java unix linux memory-management

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