小编Hao*_* Wu的帖子

删除python词典中的引号

我得到一本字典如下,

{'members': '{"mgt.as.wso2.com": 4100,"as.wso2.com": 4300}', 'subdomain': 'mgt'}
Run Code Online (Sandbox Code Playgroud)

在关键成员中,值在两个单引号内传递.有没有办法删除这些单引号.我想要下面的字典,

{'members': {"mgt.as.wso2.com": 4100,"as.wso2.com": 4300}, 'subdomain': 'mgt'}
Run Code Online (Sandbox Code Playgroud)

python dictionary python-2.7

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

访问静态变量时内联函数和静态内联函数之间的差异

我在阅读其他代码时遇到了一个有趣的案例.

在头文件中,定义了一个静态变量和一个内联函数,简化如下:

static int ply;

inline int WTM(){return ply;}
Run Code Online (Sandbox Code Playgroud)

并在cpp包含此头的其他文件中调用该函数.

cout << ply << " " << WTM();
Run Code Online (Sandbox Code Playgroud)

奇怪的是,在调用此函数的位置,ply内联函数内部的变量与函数外部之前的相同变量具有不同的值.

输出为0 1;

我检查了所有的文件,并都plyWTM()只有这个单一的定义.

之后我将代码更改为以下内容:

static int ply;

static inline int WTM(){return ply;}
Run Code Online (Sandbox Code Playgroud)

这两个值变得相同.

我的编译器g++ (GCC) 4.4.7使用默认设置.

我搜索了这个现象并得到了这两个链接: 内联函数和静态内联函数之间的区别http://gcc.gnu.org/onlinedocs/gcc/Inline.html 但仍然不明白为什么会发生这种情况(特别是为什么他们在第一种情况下可能有不同的价值观).我想知道是否有人可以告诉我编译器将如何扩展这两段代码(我尝试使用-E但似乎没有在内联函数上工作).

c++ static gcc inline

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

标签 统计

c++ ×1

dictionary ×1

gcc ×1

inline ×1

python ×1

python-2.7 ×1

static ×1