小编Gau*_*don的帖子

如何在C中实现函数重载?

有没有办法在C中实现函数重载?我正在寻找简单的函数来重载像

foo (int a)  
foo (char b)  
foo (float c , int d)
Run Code Online (Sandbox Code Playgroud)

我认为没有直接的方式; 我正在寻找解决方法,如果存在的话.

c overloading

234
推荐指数
12
解决办法
18万
查看次数

分治算法与动态规划的区别

Divide和Conquer算法和动态规划算法有什么区别?这两个术语有何不同?我不明白他们之间的区别.

请举一个简单的例子来解释两者之间的差异以及它们看起来相似的基础.

algorithm dynamic-programming divide-and-conquer

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

从Javascript代码调用Python函数

我想~/pythoncode.py~/pythoncode.py代码中调用一个函数,因为没有其他方法~/pythoncode.py来做我想做的事情.这可能吗?你能调整下面的片段吗?

Javascript部分:

var tag = document.getElementsByTagName("p")[0];
text = tag.innerHTML;
// Here I would like to call the Python interpreter with Python function
arrOfStrings = openSomehowPythonInterpreter("~/pythoncode.py", "processParagraph(text)");
Run Code Online (Sandbox Code Playgroud)

包含使用高级库的函数,这些库在Javascript中没有易于编写的等价物

import nltk # is not in JavaScript
def processParagraph(text):
  ...
  nltk calls
  ...
  return lst # returns a list of strings (will be converted to JavaScript array)
Run Code Online (Sandbox Code Playgroud)

javascript python integration function

70
推荐指数
5
解决办法
17万
查看次数

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

如何在C中连接字符串和int?

我需要在循环的每次迭代中形成一个字符串,其中包含循环索引i:

for(i=0;i<100;i++) {
  // Shown in java-like code which I need working in c!

  String prefix = "pre_";
  String suffix = "_suff";

  // This is the string I need formed:
  //  e.g. "pre_3_suff"
  String result = prefix + i + suffix;
}
Run Code Online (Sandbox Code Playgroud)

我试图使用的各种组合strcat,并itoa没有运气.

c string

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

为什么这个'for'循环不是有效的?

来自Lippman的C++ Primer第5版,第182页,考虑:

int ia[3][4];
for (auto row : ia)
        for (auto col : row)
Run Code Online (Sandbox Code Playgroud)

第一个for遍历ia,其元素是大小为4的数组. 因为row它不是引用,当编译器初始化时,row它会将每个数组元素(与数组类型的任何其他对象一样)转换为指向该数组的第一个元素的指针.结果,在这个循环中的类型rowint*.

我不是很确定我理解这个自动如何工作,但如果我可以假设它自动给出一个基于ia数组成员类型的行的类型,但我不明白为什么这种for行,其中行不是引用,无效.为什么会发生这种情况?"指向该数组的第一个元素的指针",因为什么?

c++ arrays c++11

65
推荐指数
2
解决办法
3949
查看次数

在C++中,变量声明左侧的括号是什么意思?

这个GitHub文件的代码使用了我不熟悉的C++变量"声明"语法:

std::unique_ptr<CRecentFileList> {m_pRecentFileList} = std::make_unique<CRecentFileList>(...
Run Code Online (Sandbox Code Playgroud)

(m_pRecentFileList在超类中声明为红色.)

将大括号中的变量声明包装起来是什么意思?(不是初始化列表)


我提取了一个最小的测试用例,它编译:

class foo {
    int* p;
    void f(){
        std::unique_ptr<int> {p} = std::make_unique<int>(1);
    }
};
Run Code Online (Sandbox Code Playgroud)

更改int* pstd::unique_ptr<int> p创建由于的编译错误unique_ptr(const unique_ptr&) = delete;

这使我认为braced声明分配给具有相同名称的外部作用域变量.我尝试创建一个测试程序,但无法编译:

int main(){
    int x;
    int {x} = 1;
}
Run Code Online (Sandbox Code Playgroud)

error: using temporary as lvalue [-fpermissive]

c++

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

在定义模板时始终定义`value_type`是一个好习惯

template<typename T>
class Point
{
public:
    typedef T value_type;
    ...
};
Run Code Online (Sandbox Code Playgroud)

在Ray Lischner的书"C++ in a Nutshell"中看过上面的代码,第176页.

问题:

  1. 总是添加定义是一个好习惯value_type吗?
  2. 这个定义value_type在哪里使用?

例如:Point<int>::value_type

c++

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

如何在Chrome Extension的内容脚本中导入ES6模块

Chrome 61中,增加了对JavaScript模块的支持.现在我正在运行Chrome 63.

我试图弄清楚如何在Chrome扩展内容脚本中使用导入/导出语法来使用模块.

manifest.json中:

"content_scripts":[{

"content_scripts": [
    {
        "js": [
            "content.js"
        ],
    }
]
Run Code Online (Sandbox Code Playgroud)

my-script.js中,与content.js位于同一目录中

'use strict';

const injectFunction = () => window.alert('hello world');

export default injectFunction;
Run Code Online (Sandbox Code Playgroud)

content.js中

'use strict';

import injectFunction from './my-script.js';
injectFunction();
Run Code Online (Sandbox Code Playgroud)

我收到此错误: Uncaught SyntaxError:意外的标识符

如果我将导入语法更改为import {injectFunction} from './my-script.js';I,则会收到以下错误:Uncaught SyntaxError:Unexpected token {

在Chrome扩展中的content.js中使用此语法是否存在一些问题,因为在HTML中您必须使用<script type="module" src="script.js">语法,或者我做错了什么?谷歌会忽略对扩展的支持,这似乎很奇怪.

javascript google-chrome google-chrome-extension ecmascript-6

31
推荐指数
6
解决办法
9012
查看次数

如何找到运行Java程序的时间?

我有一个Java应用程序,我一直在努力,我只是意识到该程序必须在不到一分钟内返回一个值,但不知道如何查找或显示运行该程序所花费的时间.如何找到运行程序的时间?

java eclipse runtime

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