小编use*_*742的帖子

将变量插入sh脚本命令

#!/bin/sh -f

set proj_dir="OutputDir"
for projname in lib proj1 proj2
do
    mv ./scripts/$projname_BYTECODE ./$proj_dir/scripts/$projname
done
Run Code Online (Sandbox Code Playgroud)

一个非常简单的例子,说明对我不起作用的情况。$ projname_BYTECODE被解释为变量名,但_BYTECODE实际上是文件夹名的一部分。有什么建议吗?

shell sh

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

Python中的隐式参数传递?

下面的代码来自hackermeter.com,我不知道该怎么想.变量i是隐式传递给run()还是期望更多修改而不是它指定的位置?

import sys

def run():
   # Code here!

for i in range(int(sys.stdin.readline())):
   run()
Run Code Online (Sandbox Code Playgroud)

python

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

将负的 const double 转换为 unsigned 结果为 0 而非常量 double 很好

我有这个代码:

#include <iostream>

int main() {
    double val = -400.0;
    const double constVal = -400.0;
    std::cout << val << std::endl;
    std::cout << static_cast<unsigned>(val) << std::endl;
    std::cout << constVal << std::endl;
    std::cout << static_cast<unsigned>(constVal) << std::endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我运行它时,这是输出:

-400
4294966896
-400
0
Run Code Online (Sandbox Code Playgroud)

为什么会发生这种情况?适量的谷歌搜索在这个问题上没有显示任何内容。

c++ constants static-cast

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

如何高效识别字符串命令?

给定一系列命令和必须为每个命令运行的非常独特的代码:

if(cmd == "cmd.setBoosterRocket")
    ...
else if(cmd == "cmd.windSales")
    ...
else if(cmd == "cmd.selfDustruct")
    ...
else if(cmd == "cmd.unleashHounds")
    ...
Run Code Online (Sandbox Code Playgroud)

这可能如何优化?被放到一个switch语句中,那是什么?

我考虑过制作一个哈希向量:

std::hash<std::string> hasher;
for(std::string command : m_commandList)
    m_mashes.push_back(hasher(command)
Run Code Online (Sandbox Code Playgroud)

但是向量不能作为 switch case 语句的一部分访问,因为它不是 constexpr。字符串命令列表在编译时是已知的,我可能会对哈希值进行硬编码……但这似乎不是一个好主意。

c++ string hash performance

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

标签 统计

c++ ×2

constants ×1

hash ×1

performance ×1

python ×1

sh ×1

shell ×1

static-cast ×1

string ×1