小编Lud*_*wik的帖子

当#defines正在使用其他#defines时,顺序是否重要?

根据这个问题的答案,以下代码是合法的:

#define three 3
#define nine three*3

int main()
{
    std::cout << nine;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当然,它编译并运行良好.但是,上述问题的答案还指出,应该注意这些#define指令的顺序,并且#define应该在它们之前定义将在其他s中使用的指令.但是以下代码:

#define nine three*3
#define three 3

int main()
{
    std::cout << nine;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

编译并运行良好,并打印"9".

我的编译器是否让我轻松,或者订单确实与使用其他#defines的#defines无关?编译是否会在更复杂的项目中失败?

值得一提的是,上述问题涉及C,而我的代码是C++.这是(假设的)行为差异的来源吗?

c++ operator-precedence c-preprocessor

24
推荐指数
2
解决办法
3559
查看次数

日食中的标签变得不可见

当不时使用Eclipse(Kepler,在Windows 7 64位上)时,一些打开的标签......消失了.标签栏仍然存在,但有些标签只是空白.当我将鼠标移到他们身上时,他们会回来并完全可见.

所以这不是一个功能问题,只是一个美学问题,但是如果不能看到哪些标签是打开的,那真是令人不安.有谁知道如何阻止这种行为?

它经常发生,但不是由我做的任何提示,所以我无法随意重新创建它.为了进一步说明它的外观,我将这个图像放在Paint.net中:

图像清楚地显示了我的问题

先感谢您.

// LJ

编辑:

我发现了什么促使这种行为.当我构建并运行项目时,控制台会弹出,然后在关闭窗口后,控制台会自动再次隐藏,但它覆盖的选项卡是空白的.但是,如前所述,如果我将鼠标悬停在它们上面,它们确实会回来.但是,我仍然不知道如何解决这个问题.这是一个由屏幕截图组成的gif,显示了这种行为:

在此输入图像描述

eclipse

14
推荐指数
2
解决办法
1238
查看次数

如何在Typescript 2.1+中使用Bluebird

(我已经阅读了这篇文章,但它是从八月开始的,并没有回答我当前打字稿版本的问题.)

我目前在我的项目中使用Typescript 1.8,这很好用:

import * as Promise from "bluebird";
async function f() : Promise<void> {
  return Promise.delay(200);
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试使用Typescript 2.1进行编译:

index.ts(2,16): error TS1059: Return expression in async function does not have a valid callable 'then' member.
Run Code Online (Sandbox Code Playgroud)

谷歌搜索在Typscript中使用Bluebird Promises的问题,我也发现了许多github讨论,评论和PR,但它们都很难掌握,在讨论有趣的观点时,我找不到任何说我应该怎么做的让它现在起作用.

那么,我怎么能在Typescript 2.1中使用Bluebird for Promises呢?

javascript promise typescript bluebird typescript2.1

9
推荐指数
2
解决办法
7739
查看次数

将 NodeJS 项目移动到 TypeScript 的过程

似乎只是安装它然后将文件扩展名更改.ts为 不足以有效地将 NodeJS 项目转移到 TypeScript。我收到大约 400 个错误,这些错误似乎主要源于模块解析问题(但不仅如此)。

有几个指南涵盖了这个主题,但它们似乎没有帮助,也许是因为它们最多只有一岁。因此,我想问一下最近的建议。

将 NodeJS 项目转换为 Typescript 需要采取哪些步骤?

javascript node.js typescript

7
推荐指数
2
解决办法
4031
查看次数

未使用的默认参数会降低性能c ++

假设我声明了一个函数foo(int arg1, int arg2 = 0, int arg3 = 0, int arg4 = 0).最后三个参数将仅偶尔指定(如果有的话),并且大多数情况下,函数将被称为foo(some_int).我是否会通过声明函数来获得性能foo(int arg1),并且如果真的需要它们,则可以使用不同的解决方案来传递其他参数?

换句话说,声明但未指定的默认参数会使函数调用变慢吗?

在这种情况下,函数是一个对象的构造函数,但它是一个普遍的问题.

c++ performance arguments function default-arguments

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

如何在打字稿中注释生成器功能

让我们看一下promisejs.org的示例async函数,它允许我们使用生成器来等待promise:

function async(makeGenerator){
  return function () {
    var generator = makeGenerator.apply(this, arguments);

    function handle(result){
      // result => { done: [Boolean], value: [Object] }
      if (result.done) return Promise.resolve(result.value);

      return Promise.resolve(result.value).then(function (res){
        return handle(generator.next(res));
      }, function (err){
        return handle(generator.throw(err));
      });
    }

    try {
      return handle(generator.next());
    } catch (ex) {
      return Promise.reject(ex);
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

用法示例:

var login = async(function* (username, password, session) {
  var user = yield getUser(username);
  var hash = yield crypto.hashAsync(password + user.salt);
  if (user.hash !== …
Run Code Online (Sandbox Code Playgroud)

javascript generator promise typescript

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

打字稿:如何仅编译文件夹中的文件

打字稿文档指出,在其中tsconfig.json我们可以使用files列出所有文件的位置或来控制输入文件exclude。我将所有源文件都放在一个src目录中,并且只想编译那里的所有文件(到一个不同的目录build)。我可以使用exclude所有其他文件和目录,但是可能会错过一些内容。我不想手动将每个文件添加到中files

如何指定打字稿,使其只编译在src目录中找到的打字稿文件,而不编译其他文件?

typescript

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

故障安全错误:使用阴影插件时“清单主要属性的签名文件摘要无效”

在 maven 中使用 shade-plugin 并稍后尝试使用 failsafe-plugin 运行集成测试时,当故障安全即将运行时,我收到以下错误,导致我的集成测试被跳过:

[ERROR] Invalid signature file digest for Manifest main attributes
Run Code Online (Sandbox Code Playgroud)

此错误似乎是由依赖项中的签名 jar 引起的。这个答案建议使用依赖插件过滤掉签名,但它似乎对我不起作用。Shade-plugin 只是解压了所有的依赖,并没有解决问题。我怎样才能使这项工作?

jar maven maven-failsafe-plugin maven-shade-plugin

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

将数字提高到小数(Data.Ratio)?

2^(2%1)GHCi中没有类型检查的表达式,错误消息是神秘的.为什么这不起作用,我需要改变什么?

我不能转换为另一种类型,我想要这样的表达式27^(1%3).

haskell types exponentiation ghci

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