小编Gio*_*hal的帖子

构造函数的C++虚函数

为什么以下示例打印"0"以及必须更改它以打印"1",如我所料?

#include <iostream>
struct base {
   virtual const int value() const {
      return 0;
   }
   base() {
      std::cout << value() << std::endl;
   }
   virtual ~base() {}
};

struct derived : public base {
   virtual const int value() const {
      return 1;
   }
};

int main(void) {
   derived example;
}
Run Code Online (Sandbox Code Playgroud)

c++ oop virtual constructor class

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

Make/makefile进度指示!

看看这个makefile,它有一些原始的进度指示(可能是一个进度条).

请给我建议/意见!



# BUILD is initially undefined
ifndef BUILD

# max equals 256 x's
sixteen := x x x x x x x x x x x x x x x x
MAX := $(foreach x,$(sixteen),$(sixteen))

# T estimates how many targets we are building by replacing BUILD with a special string
T := $(shell $(MAKE) -nrRf $(firstword $(MAKEFILE_LIST)) $(MAKECMDGOALS) \
            BUILD="COUNTTHIS" | grep -c "COUNTTHIS")

# N is the number of pending targets in base 1, well in fact, …

build-automation scripting makefile progress-bar

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

static vs extern"C"/"C++"

静态成员函数和extern"C"链接函数之间有什么区别?例如,在C++中使用"makecontext"时,我需要传递一个指向函数的指针.谷歌建议使用extern"C"链接,因为"makecontext"是C.但我发现使用静态工作也是如此.我只是幸运还是......

class X {
   public:
   static void proxy(int i) {}
}
makecontext(..., (void (*)(void)) X::proxy, ...);
Run Code Online (Sandbox Code Playgroud)

VS

extern "C" void proxy(int i) {}
makecontext(..., (void (*)(void)) proxy, ...);
Run Code Online (Sandbox Code Playgroud)

编辑:你能展示静态成员版本不起作用的编译器或架构(并且它不是编译器中的错误)吗?

c++ function-pointers static-members linkage extern-c

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

git:将分支放在子目录中

我有一个git存储库(在github.com上)有两个分支:master和gh-pages.我想将gh-pages分支放在子目录中,这样我每次都不需要切换分支.

repo/
    (content of the master branch)
    gh-pages/
            (content of the gh-pages branch)
Run Code Online (Sandbox Code Playgroud)

那可能吗 ?

git branch github

22
推荐指数
3
解决办法
9083
查看次数

从javascript使用github API的示例

我已经在网上搜索了一段时间,但是找不到如何从普通客户端javascript(没有node-js,jquery等)使用GitHub API的示例.我想要一些像authenticate那样的东西,然后推送一个blob,尽可能简单地让我理解它.不应该太复杂,我打赌你可以用十几行代码做到这一点,但我不太了解ajax,json和jsonp.

你能提供一个让我入门的例子吗?

谢谢!

编辑:发现这个:http://blog.vjeux.com/category/javascript,但我仍然感到困惑的是这个过程的步骤是什么.

javascript github-api

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

为什么BASIC有编号线?

可能重复:
我们为什么要打扰行号呢?

我很好奇为什么早期版本的BASIC编程语言有如下行编号:

42 PRINT "Hello world!"
Run Code Online (Sandbox Code Playgroud)

当时的文本编辑没有行编号?

编辑:是的,我知道它们用于GOTO,但为什么呢?我的意思是标签的计算成本太高了?

programming-languages basic

20
推荐指数
6
解决办法
4768
查看次数

如何在LaTeX中打印出反斜杠

我想使用LaTeX将反斜杠字符写入文本文件.

下面的第一行代码声明了一个变量'file',它描述了文件'myfile.out'.第二行打开文件,第三行尝试写入反斜杠'\'到文件.

\documentclass{article}
\begin{document}
   \newwrite\file%
   \immediate\openout\file=myfile.out%
   \immediate\write\file{\}%
\end{document}
Run Code Online (Sandbox Code Playgroud)

第三行不起作用,因为LaTeX与反斜杠混淆,任何人都知道我怎么能让它工作?我尝试了很多东西,包括\textbackslash, $\backslash$ \char``\`等,似乎没什么用.

非常感谢

file-io latex backslash

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

C++:如何测试一个数是10的幂?

我想测试一个数字double x是10的整数幂.我可以使用cmath log10然后测试是否x == (int) x

编辑:实际上,我的解决方案不起作用,因为双精度可以非常大,比int大得多,也非常小,如分数.

c++ math floating-point

18
推荐指数
3
解决办法
6222
查看次数

总是用C++创建类?

来自Java背景,对我来说,处理创建类的选择或者只是实现我可能需要的函数是新的.通常,在建模可能具有状态的东西时,这是毫无疑问的.

现在我正在实现一个没有main函数和静态成员函数的共享库.是否有些东西反对创建一个类来封装函数?

此外,我想在另一个文件中封装更多代码,尤其是辅助功能.执行代码总是相同的,并且它的状态不会改变,所以我想我会声明它们也是静态的 - 所以这里出现了同样的问题.

c++ static static-methods

17
推荐指数
3
解决办法
809
查看次数

Linux/proc/pid/smaps比例交换(如Pss但交换)

看来(从查看Linux内核源代码),Swap:度量标准/proc/pid/smaps是给定pid可访问的总交换.

在涉及共享内存的情况下,这似乎是实际交换使用的过度近似.例如,当将父pid与其分叉子节点的交换使用相加时,如果它们在交换中具有共同的共享内存,则看起来该部分(交换的共享内存)被计数多次(每个pid一次).

我的问题是,是否有办法根据共享它的进程数量(类似于Pss:)计算出公平交换使用指标.

linux procfs mmu

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