小编Jef*_*eff的帖子

kubernetes:在同一 Pod 中的另一个容器中调用命令

有没有一种方法可以让一个容器调用另一个容器中的命令?这些容器位于同一个 Pod 中。

\n\n

我需要许多命令行工具,它们以映像和包的形式提供。但由于一些担忧,我不想\xe2\x80\x99 将它们全部安装到一个容器中。

\n

kubernetes

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

为什么STL中List的迭代器使用(*node).data而不是node-> data?

我最近查看了SGI STL的源代码.我想知道我是否可以使用" - >"运算符替换(*node).data实现operator*(),如下所示:

reference operator*() const {return (*node).data;}
Run Code Online (Sandbox Code Playgroud)

取而代之:

reference operator*() const {return node->data;}
Run Code Online (Sandbox Code Playgroud)

此外:

node是一个指向struct对象的指针,如下所示:

template<class T>
struct __list_node {
    typedef void * void_pointer;
    void_pointer prev;
    void_pointer next;
    T data;
};
Run Code Online (Sandbox Code Playgroud)

c++ stl operator-overloading

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

当有人说在C++中无法更改引用时,这意味着什么

最近,我正在阅读一些关于C++的书籍,如"C++ primer"和"Effective C++".几乎每本书都说参考不能改变.我对这个说法感到困惑.因为,我可以写下这样的代码.

int a = 1, b = 2;
int& c = a;
// then I can change the reference c without compile errors.
c = b;
Run Code Online (Sandbox Code Playgroud)

所以,我无法理解它是什么意思,参考不能改变.

c++

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

为什么STL向量的迭代器指向不存在的元素?

我编写测试代码来找出vector的itrerator是否可以超出end()迭代器,就像这样.

#include <vector>
#include <iostream>
using namespace std;

int main()
{
    vector<int> v;
    v.push_back(100);
    cout << v.capacity() << endl;
    vector<int>::iterator itr = v.begin();
    for (int i = 0; i < 10000; ++i, ++itr)
        if (itr == v.end()) cout << "end at " << i << endl;
    cout << *itr << endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

打印结果:

1
end at 1
0
Run Code Online (Sandbox Code Playgroud)

向量对象v只有1个容量,但它的迭代器可以在end()迭代器之后访问内存.对这种情况有什么保护吗?

c++ stl vector

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

标签 统计

c++ ×3

stl ×2

kubernetes ×1

operator-overloading ×1

vector ×1