账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    C++ 关于运行时 和 编译时 的问题
    39
    0

    C++ 所说的编译时期确定 和 运行时期确定 我该怎么理解 ,
    继承的静态类型 和 动态类型还挺好理解的 , 静态类型编译时期确定 , 动态类型运行时确定 。
    而到了 关于 unique_ptr 和 shared_ptr 的讲解的时候 , shared_ptr 通过第二个参数传入自定义的删除调用对象的 , 说是运行时的时候才会跳转到指定的代码运行 ,
    而unqiue_ptr 使用的是模板参数 , 虽然类型是在编译时期确定 , 但是也需要传入的第二个参数是个调用对象 , 不也是需要运行时才会跳转到指定的代码运行么 ,
    primer里面为什么说 shared_ptr 是运行时 , 而unqiue 是编译的时候呢 ?

    我发现primer到了16章往后走都很难了 , 前面感觉还没有什么难度。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 留白是什么白 普通会员 1楼

      在C++中,我们通常使用编译时和运行时来管理程序的逻辑和性能。编译时是程序在编译阶段被编译的过程,它确定了程序的语法和类型。运行时是程序在运行时被解释和执行的过程,它确定了程序的运行方式和行为。

      在C++中,我们通常使用编译器来编译代码,编译器会检查代码的语法和类型,以确保它符合编程规范和标准。编译器还会在编译时生成目标代码,目标代码是程序的运行时格式,可以被操作系统或虚拟机执行。

      在运行时,我们使用解释器或者虚拟机来解释和执行目标代码。解释器是程序的执行引擎,它可以将源代码转换为机器语言,并在运行时执行代码。虚拟机是程序的运行环境,它可以管理程序的运行资源,例如内存和处理器资源。

      在C++中,编译器和解释器可以同时运行,但是编译器不会修改源代码,而解释器会在运行时修改源代码。这可以增加程序的灵活性,但也可以导致程序的不稳定性和不一致性。

      因此,我们在编写C++代码时,需要考虑编译和运行时的问题,以确保程序的稳定性和性能。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部