Описание тега local-class

Local classes are classes that are defined in a block, which is a group of zero or more statements between balanced braces. You typically find local classes defined in the body of a method.
2 ответа

Почему std::vector не может принимать локальный тип?

void foo() { struct Foo { .. }; std::vector<Foo> vec; // why is this illegal? } Я не возвращаю Фу во внешний мир. Это просто временный тип, который я использую в функции.
18 мар '10 в 07:26
3 ответа

Почему локальный класс, который расширяет внутренний класс, не может получить доступ к экземпляру, вмещающему внутренний класс?

(Я продолжаю перечитывать заголовок вопроса и думаю о том, как нелепо это должно выглядеть, но уверяю вас, что это лучшее описание проблемы, и у меня есть реальное приложение, где это лучшая структура. Клянусь, я не псих.) Учтите следующее. Каждый б…
09 окт '15 в 00:42
5 ответов

Почему поле внутри локального класса не может быть статичным?

void foo (int x) { struct A { static const int d = 0; }; // error } Помимо ссылки из стандарта, есть ли мотивация этого запретить static поле внутри внутреннего класса? error: field `foo(int)::A::d' in local class cannot be static Редактировать: Одн…
26 май '11 в 10:48
2 ответа

Локальные классы с лямбда-выражениями

Как я уже проверял, приведенный ниже код выполняется без проблем. Но я не мог понять логику. Может кто-нибудь объяснить, пожалуйста? public static void main(String[] args) { List<String> london = new ArrayList<>(Arrays.asList("Chinatown"…
1 ответ

Почему Java жалуется, что не может найти мой локальный класс?

Я пытаюсь настроить Dozer для выполнения сложного сопоставления между моими двумя объектами. По сути, я хочу, чтобы это преобразовало мой percentCompleted удваивается до логического значения, в зависимости от того, является ли значение 1 (100%) или …
25 ноя '11 в 22:16
1 ответ

Противоречивое утверждение относительно местного класса, какой из них является правильным?

Я новичок в Java и пытаюсь изучить концепцию локального класса. В настоящее время я читаю главу о локальных классах в документации Oracle для официальной Java. В этой главе я встречал два утверждения, которые, кажется, противоречат друг другу. Может…
05 янв '16 в 12:37
6 ответов

Статическая переменная-член внутри локального класса в C++?

Я знаю, что мы не можем объявить статическую переменную-член внутри локального класса... но причина этого не ясна. Так, пожалуйста, кто-нибудь может объяснить это? Кроме того, почему мы не можем получить доступ к нестатическому определению переменно…
06 янв '10 в 12:04
1 ответ

Добавить свойство к произвольному Java-бину

Я хочу написать функцию, которая, учитывая произвольный Java-бин в качестве аргумента, возвращает объект, который является копией этого бина, но принадлежит анонимному подклассу типа бина, который содержит дополнительное свойство. Позвольте мне прои…
2 ответа

Почему общие лямбды разрешены, а вложенные структуры с шаблонными методами - нет?

Насколько я понимаю - родовые лямбды превращаются в объекты локального масштаба с шаблонами operator(), Это делает универсальный лямбда очень мощным и простым в использовании инструментом. С другой стороны, можно создавать структуры, вложенные в фун…
25 окт '16 в 14:19
1 ответ

Можно ли сказать, что локальный метод-метод является типом внутреннего класса?

Поскольку мы не можем использовать static модификатор с локальным классом, определенным внутри метода, и поскольку нестатические вложенные классы являются внутренними классами, мы могли бы, вероятно, сказать, что локальный класс метода является типо…
4 ответа

Есть ли что-то под названием Local Static Inner Class?

Я просто экспериментировал с внутренними классами и натолкнулся на идею иметь локальный, но статический внутренний класс... ну, я сделал внутренний класс внутри статического метода... ну, это просто так... Вот пример, который я сделал class Outer { …
15 окт '17 в 13:39
9 ответов

Использование определений классов внутри метода в Java

Пример: public class TestClass { public static void main(String[] args) { TestClass t = new TestClass(); } private static void testMethod() { abstract class TestMethod { int a; int b; int c; abstract void implementMe(); } class DummyClass extends Te…
11 мар '10 в 19:55
1 ответ

Невозможно наблюдать экземпляр локального класса Java в Eclipse

Вот небольшой образец: public class LocalClassSample { public static void main(String[] args) { class Utils { public void printHello(String name) { System.out.println("Hello " + name); } public String outHello(String name) { return "hello " + name; …
26 фев '15 в 14:33
0 ответов

Это хорошая практика для создания локальных классов?

Большую часть времени я вижу, что программисты говорят, что локальные классы по некоторым причинам не годятся, и говорят, что вместо создания классов в методах создайте новые файлы Java и используйте их. Мой вопрос: предположим, что если я хочу созд…
20 фев '17 в 18:53
3 ответа

Является ли локальный класс зависимым, если он объявлен в шаблоне функции?

Текущие компиляторы C++ (последние gcc, clang) требуют typename Ключевое слово в примере ниже: template<class T> struct A { }; template<class T> void f(T) { struct C { }; typedef typename A<C>::Type Type; // typename required } Есл…
3 ответа

Являются ли локальный класс, внутренний класс и вложенный класс одним и тем же в C++?

Локальный класс, внутренний класс и вложенный класс означают одно и то же в C++?
24 окт '11 в 15:34
4 ответа

Локальные классы в C++

Я читаю концепцию "Локальные классы" в объектно-ориентированном программировании на C++. Автор Balagurusamy ( http://highered.mcgraw-hill.com/sites/0070593620/information_center_view0/). В последней строке написано: "Функция включения не может получ…
13 июл '10 в 08:00
1 ответ

Шаблон участника в местном классе

Учитывая следующий код: void f() { class A { template <typename T> void g() {} }; } g ++ 4.4 (а также g++-4.6 -std=gnu++0x) жалуется: "недопустимое объявление шаблона члена в локальном классе". Очевидно, что локальные классы не могут иметь чле…
28 ноя '10 в 21:52
4 ответа

Есть ли такая вещь, как "локальный интерфейс" в Java?

Java позволяет мне определять локальные абстрактные классы, как в этом примере: public class Foo { public void foo() { abstract class Bar { // Bar is a local class in foo() ... abstract void bar(); } new Bar() { // ... and can be anonymously instant…
02 фев '14 в 21:18
2 ответа

Выражение создания экземпляра локального класса в статическом контексте

JLS 15.9.2 говорит нам, как определить включающий экземпляр: пусть C будет создаваемым экземпляром класса, и пусть i будет создаваемым экземпляром. Если C является внутренним классом, то у меня может быть непосредственно включающий экземпляр (§8.1.…
07 янв '15 в 08:04