小编Kri*_*Oza的帖子

Perl 变量名前的 * 是什么意思?

下面的 Perl 语句是什么意思?

*INPUT_DATA                    =\ 0;
Run Code Online (Sandbox Code Playgroud)

我检查了一些 Perl 文档网站,例如https://perldoc.perl.org/variables,但我找不到类似的示例。

perl

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

为什么在C++中,一个类的指针可以被转换为另一个类的指针?

class A
{
public:
    void display()
    {
        cout << "class A\n";
    }
};

class B
{
public:
    void show()
    {
        cout << "class B\n";
    }
};

int main()
{
    A* aPtr = new A;
    B* bPtr = new B;
    B* bPtr2 = (B*) aPtr;

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

在上面的代码中,为什么在C++中允许将一个类类型的指针强制转换为另一个类类型.由于这两个类不相关,为什么B* bPtr2 = (B*) aPtr;不抛出编译时错误来转换不相关类型的指针.

c++ pointers casting

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

处理原始视频时,如何用H.264编解码器构造P帧

我正在尝试大致了解视频编解码器的工作原理,其中之一是H.264

我在网络上浏览了一些有关该工具工作原理的文章,H.264希望对此有所了解。

在阅读相同的内容的时候,我知道了不同类型的帧,例如I-FrameP-FrameB-Frame,在流式传输使用H.264

我无法理解的是,给了一个原始视频,其中显然有帧的数据,网络上的文献说这I-Frame是原始帧,因为它是P-Frame从先前的I-Frame或预测的位置P-Frame,在这里如何P-Frame预测P-Frame当另一个还不存在时。

同样使我困惑的是对P-Frame

请帮助理解相同内容或参考解释相同内容的文献。

video encoding video-processing video-streaming h.264

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

声明对类的引用作为类成员

我想声明一个类的引用,类似于指向类的指针作为它自己的成员变量.以下是我编写的代码,但我现在陷入困境,如何继续创建这样一个类的对象,因为即使我只编写默认构造函数或构造函数来编译器,编译器也总是会出错var.

class Test2
{
private:
    Test2& testRef;
    int var;

public:
    Test2( int x, Test2 testObj ) : var( x ), testRef( testObj )
    {

    }
};
Run Code Online (Sandbox Code Playgroud)

我需要做些什么来创建这样的类的对象或根本不可能这样做.如果不可能,为什么不编译器只是给出一个错误,说你不能引用自己的类.

c++ reference class object

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

C++ STL中排序算法的研究

从Sort(开始,结束)的使用看来,通过仅指定容器的开始和结束索引,该函数可以对容器进行排序.但我的问题是sort函数如何获得容器的类型.

std::sort(myvector.begin(), myvector.end());
Run Code Online (Sandbox Code Playgroud)

从上面的代码我假设开始和结束索引是发送.为什么推导出矢量类型和矢量名称.

c++ stl

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

删除此指针时堆栈溢出

我有以下代码,我得到堆栈溢出错误任何人都可以请解释我这里有什么问题.从我的理解,这个指针指向当前对象,所以为什么我不能在析构函数中删除它;

class Object 
{
private:
    static int objCount;
public:
    int getCount()
    {
        int i =10;
        return i++;
    }
    Object()
    {
        cout<< "Obj Created = "<<++objCount<<endl;
        cout <<endl<<this->getCount()<<endl;
    }
    ~Object()
    {
        cout<<"Destructor Called\n"<<"Deleted Obj="<<objCount--<<endl;
        delete this;
    }
};

int Object::objCount = 0;

int _tmain(int argc, _TCHAR* argv[])
{


    {
        Object obj1;
    }

    {

              Object *obj2 = new Object();
    }
    getchar();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ stack

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