小编Ara*_*raK的帖子

什么是推测性解析?

我读过Firefox 3.5在解析器中有一个新功能?

Gecko布局引擎的改进,包括用于更快内容呈现的推测性解析.

你能用简单的语言解释一下吗?

firefox parsing

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

C++中类静态变量的生命周期是多少?

如果我有一个名为Test ::

class Test
{
    static std::vector<int> staticVector;
};
Run Code Online (Sandbox Code Playgroud)

什么时候构造staticVector以及什么时候它被破坏?

它是与Test类的第一个对象的实例化,还是像常规静态变量一样?

只是为了澄清,在阅读编程语言概念(Sebesta Ch-5.4.3.1)后,我想到了这个问题,它说::

请注意,当静态修饰符出现在C++,Java和C#中的类定义中的变量声明中时,它与变量的生命周期无关.在该上下文中,它表示变量是类变量,而不是实例变量.保留字的多次使用可能使学习语言的人特别困惑.

你明白了吗?:(

c++ static-members lifetime

11
推荐指数
3
解决办法
8076
查看次数

对象的共享所有权是不良设计的标志吗?

背景:在阅读Stroustrup博士的论文和常见问题解答时,我注意到传奇的CS科学家和程序员提出了一些强烈的"意见"和很好的建议.其中一个是关于shared_ptrC++ 0x.他开始解释shared_ptr它以及它如何代表指向对象的共享所有权.在最后一行,他说,我引用:

.A shared_ptr代表共享所有权,但共享所有权不是我的理想:如果一个对象具有明确的所有者和明确的,可预测的寿命,那就更好了.

我的问题:RAII在多大程度上取代了垃圾收集等其他设计模式?我假设手动内存管理不用于表示系统中的共享所有权.

c++ garbage-collection raii

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

什么是"将移动语义扩展到*这个"?

请问,有人可以用简单的英语解释什么是"将移动语义扩展到*这个"?我指的是这个提议.所有我们正在寻找的是什么,为什么我们需要它.请注意,我确实理解rvalue引用通常是什么,构建了移动语义.我无法理解这样的扩展为rvalue引用添加了什么!

c++ this rvalue move-semantics c++11

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

C++中的标准输出流是否是线程安全的(cout,cerr,clog)?

我知道当前没有线程的概念C++,但是本文说:

类型安全,线程安全,便携式 日志记录机制

.....

fprintf()函数是线程安全的,因此即使从不同的线程使用此日志,输出行也不会被加扰.

怎么样cout,cerrclog

我认为这个问题适用于C++中的所有类型的流类型,例如fstreamstringstream.

c++ iostream thread-safety

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

经典C++(C with Classes)的调用/返回功能,现代语言有什么用?

C++的设计和演变的第57页上,Stroustrup博士讨论了一个最初属于C with Classes的功能,但它不是现代C++(标准C++)的一部分.该功能被调用call/return.这是一个例子:

class myclass
{
  call() { /* do something before each call to a function. */ }
  return() { /* do something else after each call to a function. */ }
  ...
};
Run Code Online (Sandbox Code Playgroud)

我觉得这个功能非常有趣.任何现代语言都有这个特殊功能吗?

c++ aop language-features programming-languages

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

我怎样才能以通用的方式打印任何容器的内容?

我正在尝试使用C++模板编写一段代码以获得乐趣.

#include <iostream>
#include <vector>

template <class Container>
std::ostream& operator<<(std::ostream& o, const Container& container)
{
    typename Container::const_iterator beg = container.begin();

    o << "["; // 1

    while(beg != container.end())
    {
        o << " " << *beg++; // 2
    }

    o << " ]"; // 3

    return o;
}

int main()
{
    std::vector<int> list;

    list.push_back(0);
    list.push_back(0);

    std::cout << list;

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

上面的代码没有编译:)

在1,2,3处产生相同的错误:错误C2593:'operator <<'是不明确的

我想要做的就是重载<<运算符以使用任何容器.那有意义吗 ?怎么可能呢?如果可能的话,如果不是为什么?

编辑::感谢更正:)'sth'方式是一个很好的解决方案.

我很好奇,如果我们可以使用C++ 0x Concepts,这种模糊性 - 如Neil解释的那样 - 会消失吗?

c++ templates stl operator-overloading

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

在我出生之前C是怎么样的?

这是一个问题,C(K&R C)是怎样的?问题是关于C生命的前十年或二十年?

我知道,好吧,我从我的大学教授那里听到它们,C没有我们今天用ANSI C获得的标准库.他们曾经在包裹的程序集中编写IO例程!第二件事是K&R的书,是程序员阅读的最好的书之一,这就是我的教授告诉我们的:)

我想更多地了解一下好的C'.例如,与ANSI C相比,您对它有多大的了解,或者C如何改变程序员对编程的关注?


只是为了记录,我在主要阅读这两篇论文后问这个问题:

我知道它们是关于C++的!这就是为什么我想了解更多关于C的原因,因为这两篇论文是关于C++是如何从C诞生的.我现在在询问它之前的样子.感谢Lazarus指出第一版K&R,但我仍然渴望从SO大师那里了解更多关于C的信息;)

c kr-c

9
推荐指数
3
解决办法
1121
查看次数

是否可以在C++ 0x中使用auto执行以下操作?

Eric Lippert写了一篇关于为什么没有字段变化的文章在C#中.我很好奇,我们能用C++ 0x做到吗?恩.

struct mystruct_t
{
   auto i = 0, d = 0.0, s = std::string("zero");
};
Run Code Online (Sandbox Code Playgroud)

抱歉,我无法通过最新的草案得到答案.

谢谢,

c++ type-inference class c++11

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

是不是有.apk的官方格式规范?

我见过一些将.apk文件反转为基本文件的应用程序.我想知道在哪里可以找到.apk文件的官方规范,但我无处可去!如果没有正式的规范,有人可以告诉我们在哪里看,以及有关规范的最佳资源是什么?

android reverse-engineering dalvik apk

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