小编ove*_*tic的帖子

CMAKE_PROJECT_NAME和PROJECT_NAME之间的区别?

CMAKE_PROJECT_NAME和PROJECT_NAME有什么区别?

从文档:

CMAKE_PROJECT_NAME

当前项目的名称.

它从最接近的继承的project()命令指定当前项目的名称.

项目名

项目命令的项目名称.

这是最近的project()命令的名称.

我不明白其中的区别.

我应该什么时候使用CMAKE_PROJECT_NAME?我应该什么时候使用PROJECT_NAME

cmake

17
推荐指数
2
解决办法
5608
查看次数

有没有办法在不使用std :: move的情况下使用构造类初始化类?

// Example program
#include <iostream>
#include <string>
#include <utility>

class A {
public:
    int x; 
};

class B {
public:
    B(A &&a) : m_a(std::move(a)) {}
    A m_a;
};

int main()
{
    B var(std::move(A()));
    // B var(A()); // does not compile why?

    std::cout << var.m_a.x << "\n";

}
Run Code Online (Sandbox Code Playgroud)

在上面的代码片段中,注释掉的行不会编译.出现错误消息,它将var视为函数声明.即使A具有构造函数的参数,它仍然被视为函数声明.有没有办法写它,所以它不会被视为函数声明?在这种情况下,使用typename没有帮助.

c++

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

何时使用CallNonvirtualObjectMethod及其相关方法?

看起来CallStaticObjectMethod,CallObjectMethodMethod和等...都是你所需要的.根据文件

CallNonvirtual<type>Method惯例的Call<type>Method家庭和惯例的家庭是不同的.Call<type>Method例程根据对象的类CallNonvirtual<type>Method调用方法,而例程根据clazz参数指定的类调用方法,从中获取方法ID.方法ID必须从对象的真实类或其超类之一获得.

从该描述中也可以看出具体方法CallNonvirtualObjectMethod没有用处.

c++ java java-native-interface

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

标签 统计

c++ ×2

cmake ×1

java ×1

java-native-interface ×1