Метод класса и переменная с тем же именем, ошибка компиляции в C++ не в Java?

C++ применяет изменение имен java к именам функций и глобальным core-java переменным. Локальные переменные oraclejdk не изменяются. Проблема возникает jre из-за того, что в C вы можете java-libraries получить доступ к адресу java-api переменной или функции (в java-se том числе и в C++), например. :

struct noob{
    bool noobvar;
    void noobvar(){};
};

Можно .java сказать, почему бы не применить java изменение имен также и к cpp локальным переменным, а затем oraclejdk иметь внутреннее локальное javax представление, такое как

bool __noobvar_avar;
void __noobvar_void_fun;

и jre предположим, что они получают java адреса во время выполнения cxx 0x000A и 0x00C0 соответственно.

Однако, если .java мы напишем где-нибудь в коде:

&noob::noobvar

Что cxx должна делать программа?

  1. вернуть адрес переменной noobvar, т.е. 0x000A
  2. вернуть адрес функции noobvar, то есть 0x00C0

Вы javax можете видеть, что, поскольку oraclejdk в C и, следовательно, в C++ вы .java можете выдавать «адрес», незаконно java-api иметь переменные и функции c++ с одинаковыми именами в одной j2se и той же области разрешения.

java

c++

2022-11-12T10:13:49+00:00