- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
#include <iostream>
using namespace std;
class Program
{
public:
friend int main()
{
return 0;
}
};
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+38
#include <iostream>
using namespace std;
class Program
{
public:
friend int main()
{
return 0;
}
};
Мой знакомый говорит, что его компилятор поддерживает Java\C#-нотацию точки входа таким образом. И ещё он говорит, что так должно компилироваться по стандарту.
http://ideone.com/pYwA8
Они не считаются за static, они существуют в текущем пространстве имен, а не в классе.
friend std::ostream & operator << (std::ostream & o, mytype const & m) { ... } сплошь и рядом объявляются прямо в теле класса, в стандарт было незачем лезть
Просто в своем коде никогда не писал так (выносил оператор наружу). А в чужом коде или не встречалось, или, видимо, не обращал внимания на то, как запилены операторы.
P.S. Лишний раз убеждаюсь, что можно много лет пользоваться с++, и так и не познать его до конца...
Мои: 4-5
оксюморон
Причем тут фаллометрия? Я предложил оценить свои знания самостоятельно без всяких тестов. Самооценка так сказать. Вот как вам кажется, на сколько вы знаете, стандарт? Между прочим стандартный вопрос на собеседовании.
0.5 Русского Стандарта
http://www.winebay.ru/userfiles/catalog_items/big/990050_big.jpg
http://www.cubisteffects.com/images/RAT/Rat_Header2.jpg
Сенсация! Обитатели говнокодика деанонимизировали @rat4! Читать дальше >>>
[phallometry]Вчера на odesk.com сдал тест по крестам на 3.9 из 5, и сишечку на 4.4 из 5.[/phallometry]
P.S. После теста узнал новый момент в с++:
Про ловлю по ссылке и указателю я прекрасно знал, и именно они - принцип работы catch в любом языке. А вот то, что catch умеет ловить объекты родительского класса по значению, при этом вызывая конструктор копий... вот эту фичу узнал только вчера.
http://ideone.com/2hJCu
Я же выше написал что это работает. Потом вы написали что это работает. Потом я написал что это работает, но узнал я только вчера. И тут этот коммент "умеет". Ну не к месту же уже, не к месту.
Это ж кресты, если не на стеке, то по воле программера только. Или ОС.
Почему же, действует. При вбросе по ссылке разрушается объект при выходе из catch блока, который его поймал. При вбросе по значению - сразу же после того как будет создана копия, а копия разрушится после выхода из catch блока. Если же кидать указатель - само собой придется удалять ручками.
P.S. Компилятор может оптимизнуть код, и не делать копию, но RAII работает.
Caught
Мда, надо мне прокачивать инглиш, половина слов и правил уже забылась.
http://ideone.com/jMvyc
нет
3.6.1 Main function
/3 ...A program that declares main to be inline or static is ill-formed. ...
>Мой знакомый говорит, что его компилятор поддерживает
Я так понял, этот зубр где-то в 95ых с командой писал "свой" компилятор крестов.
A program that declares main with internal linkage is ill-formed
из абзацев, кишащих implementation-defined, я выудил причину, по которой ОП код не приведет к желаемому результату
Думаю ты хотел сказать delete.
О, да...
А я думал так можно только методы помечать. В чем профит от этого не для методов?
я просто разместил объяву
A program that defines main as deleted or that declares main to be inline, static, or constexpr is ill-formed.
deleted function - это как раз = delete
какое отношение = delete имеет к функциям, а не методам - хоть раздел 8.4.3 Deleted definitions все примеры приводит к методам, думаю, можно вот так:
хоть на говнокодике новый стандарт поизучаю :)
http://ideone.com/UoAvk vs http://ideone.com/jRWe5
узнать об ошибке через 3 секунды или через 5 минут при линковке огромного говна, особенно когда он напишет малоинформативное "undefined reference to void f(int) in some_fucking_module.o" даже без указания строки, где оно произошло
вторая ступень - гнев к бюрократам в комитете
третья ступень - торг. попытка заключить сделку с судьбой
четвертая ступень - депрессия. отчаяние и ужас, потеря интереса к программированию
пятая ступень - смирение. "Не более 2% людей переживают эту стадию."
синонимы: импонент
М.б. апоненты заходили под твоим акком и плюсовали себя.
не нервничайте, больной
А ну да, так что такой способ с вызовом члена класса как статика лучше вообще не использовать ;) Соглашения о вызовове все-таки разные, и на каком-то компиляторе обязательно заглючит.
> А вот чтобы вызывать методы класса, нужно сначала создать объект
Извращаться - так по полной:
http://ideone.com/TJ92O
Йохохо
<a href=http://farmdirect.ru/shipovnika-sirop-plyus-vitamin-s-otzyvy-instrukcija>Шиповника сироп плюс витамин С - отзывы, инструкция по применению - FarmDirect</a>