- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
#include <iostream>
#include <stdio.h>
#include <fcntl.h>
#include <string>
#define print(data) cout<<data<<endl;
#define ord(data) int(data[0])
#define str(data) char(data)
#define open fopen
#define write(f, data) fputc(data, f)
using namespace std;
string input()
{
string s;
cin>>s;
return s;
};
FILE* f;
int chr;
int main() {
print("Enter:");
f = open("code.txt", "w");
chr = ord(input());
print(chr);
write(f, str(chr));
return 0;
}
Вот такую лабу сдал студент 1го курса в нашем вузе. Сказал преподавателю, что ему очень нравится питон и он старается ему подражать.
http://ideone.com/ctkFP
absolut 17.10.2011 22:00 # +9
так и писал бы на питоне, подражатель хренов.
Ещё и сишный stdio зачем-то приплел.
actuator 18.10.2011 05:31 # +7
Lure Of Chaos 17.10.2011 22:03 # +6
да это же чистый php!
roman-kashitsyn 17.10.2011 22:59 # +3
absolut 17.10.2011 23:05 # +3
ling 18.10.2011 12:26 # +1
guest 18.10.2011 17:05 # 0
Lure Of Chaos 19.10.2011 18:38 # 0
ling 20.10.2011 09:33 # +2
absolut 20.10.2011 09:51 # 0
defecate-plusplus 18.10.2011 00:01 # +5
using namespace std;
много маленьких щеночков скулят и топятся в проруби
ohlol 18.10.2011 07:49 # 0
absolut 18.10.2011 08:54 # +1
ohlol 18.10.2011 08:56 # 0
defecate-plusplus 18.10.2011 09:13 # +6
еще ни у кого руки не отсохли написать std:: где нужно
когда в продакшен коде 100500 неймспейсов, библиотечных и своих, использование "подумай сам откуда я их взял" string или vector или set выглядит колхозом
правила простые - нет неймспейса - значит из текущей (родительской) области видимости. либо нет неймспейса - значит using namespace ты найдешь глазами здесь же, в данном scope из { ... }
например, это - хорошо:
если неймспейс длинный, то лучше использовать
namespace fs = boost::filesystem; или namespace po = boost::program_options;
даже удобоваримо namespace asio = boost::asio;
а то бывают красавцы приходят ко мне на работу и потом в своем говнокоде прямо в глобальном заголовке херачат using namespace std; - потом сидят переделывают, исправляют свои ошибки образования
guest 18.10.2011 10:09 # 0
>myvector += 1, 2, 3, 4 ,5;
Кстати, я правильно понимаю, после такой перегрузки оператор запятая будет работать не верно по программе, поэтому его нужно прятать в скоп? Здесь косячно сделан boost::assign?
defecate-plusplus 18.10.2011 10:15 # +1
скоп нужен чтобы там, где не нужно (а наполнять вектор значениями обычно нужно далеко не везде) конструкция myvector += значение; не компилилась
(опять же, выявление ошибки v += 10 вместо v[0] += 10)
guest 18.10.2011 12:15 # 0
guest 18.10.2011 12:15 # 0
defecate-plusplus 18.10.2011 12:20 # 0
defecate-plusplus 18.10.2011 12:24 # 0
можешь даже сам доопределять оператор += для своих контейнеров, если вдруг, полезная штука
TarasB 18.10.2011 14:53 # +1
+= , , , ,
Мне кажется, такое "программирование" скорее является просто игрушкой для досуга, чем чем-то реально полезным. То есть задачка интересная, на тему "как сделать так-то", но это на самом деле поебень.
defecate-plusplus 18.10.2011 14:56 # +3
v.push_back(1);
v.push_back(2);
v.push_back(3);
v.push_back(4);
v.push_back(5);
заебёт даже самого терпеливого
так что подобный синтаксический сахар от boost::assign - во имя добра
TarasB 18.10.2011 15:05 # 0
A.Append((1,2,3,4,5));
Ладно, вот в крестовом стиле:
v.push_back(5, {1,2,3,4,5})
(переопределить push_back для массива)
defecate-plusplus 18.10.2011 15:08 # 0
а в гцц 3.4.4 будет работать только буст
вообще С++11 еще не очень скоро вытеснит С++03
TarasB 18.10.2011 15:09 # 0
defecate-plusplus 18.10.2011 15:11 # 0
TarasB 18.10.2011 15:13 # 0
defecate-plusplus 18.10.2011 15:18 # 0
смотри
defecate-plusplus 18.10.2011 15:22 # 0
в С++11 можно будет принимать тип std::initializer_list<T> (и то, надо повнимательней почитать что будет с копированием созданных объектов, столько же как сегодня или больше)
ohlol 18.10.2011 17:44 # +2
Когда юзаешь боост:асигн читать внимательно нужно не меньше
TarasB 18.10.2011 15:32 # 0
А то,что нельзя анонимные массивы на стеке создавать - косяк. В Дельфи такое давно вот есть, я уж не говорю про Аду.
defecate-plusplus 18.10.2011 15:33 # 0
как видишь, еще в 2005 году умели, где ты был всё это время?
AnimeGovno-_- 19.10.2011 10:11 # 0
В с++ размер массива можно определить и без шаблонов.
ohlol 18.10.2011 17:53 # 0
ohlol 18.10.2011 18:34 # −1
roman-kashitsyn 18.10.2011 18:36 # +1
ohlol 18.10.2011 18:39 # −6
defecate-plusplus 19.10.2011 00:04 # 0
ohlol 19.10.2011 00:06 # 0
Поссылке пройдите
defecate-plusplus 19.10.2011 09:29 # 0
AnimeGovno-_- 19.10.2011 10:07 # −8
SARCASM
defecate-plusplus 19.10.2011 10:10 # +1
defecate-plusplus 19.10.2011 10:12 # 0
http://ru.wikipedia.org/wiki/C%2B%2B11
AnimeGovno-_- 19.10.2011 10:37 # −3
Приглядись к моему посту:
>с++0x это типа с++03
>
>
>SARCASM
guest 18.10.2011 15:00 # 0
В С++11 boost::assign уже не нужен. Это реализовано на уровне языка.
gegMOPO4 18.10.2011 15:38 # +2
defecate-plusplus 18.10.2011 15:44 # +3
типа
на вкус и цвет все фломастеры разные
на мой взгляд ничего страшного в перегрузке запятой членом класса нет
в С++ есть более изощренные способы выстрелить в ногу того, что будет после тебя сопровождать твой код
gegMOPO4 18.10.2011 17:21 # +3
Не знаю ни одного случая уместного переопределения запятой.
Govnoeb 18.10.2011 19:01 # 0
?
gegMOPO4 18.10.2011 19:11 # 0
ohlol 18.10.2011 19:24 # +2
defecate-plusplus 19.10.2011 09:27 # 0
AnimeGovno-_- 19.10.2011 10:09 # −1
guest 29.11.2011 22:18 # −1
guest 18.10.2011 14:36 # 0
defecate-plusplus 18.10.2011 14:40 # +2
TarasB 18.10.2011 14:50 # +7
> assing
ОЖОПЕНЕНИЕ
defecate-plusplus 18.10.2011 14:52 # 0
ну дык и ресурс соответствующий
SmackMyBitchUp 01.11.2011 16:58 # 0
bugmenot 01.11.2011 19:49 # 0
Govnoeb 18.10.2011 18:57 # 0
gegMOPO4 18.10.2011 19:12 # 0
roman-kashitsyn 18.10.2011 19:15 # +5
ohlol 19.10.2011 00:09 # −4
Nemoden 18.10.2011 06:02 # +18
и уполз домой.
Byte 18.10.2011 08:36 # +8
bot-minurast 18.10.2011 09:30 # −10
gegMOPO4 18.10.2011 11:21 # +6
guest 18.10.2011 12:13 # −1
alexoy 18.10.2011 12:39 # −12
Nemoden 19.10.2011 07:42 # +7
- Глупый человек; человек, который своим поведением не схож с другими людьми (разг. руг.)
- Глубоко умственно отсталый человек, страдающий идиотией (мед.)
bugmenot 19.10.2011 17:09 # +2
Происходит от др.-греч. ἰδιώτης «отдельный, частный» (так в древних Афинах называли, в частности, граждан, не принимавших участия в общественной жизни), из ἴδιος «свой, собственный ; особенный», далее из праиндоевр. *swe- «свой; себя». В ряде европейских языков греч. слово заимств. через. лат. idiota.
Nemoden 19.10.2011 17:52 # 0
gegMOPO4 19.10.2011 18:33 # +12
absolut 19.10.2011 22:39 # 0
3.14159265 19.10.2011 15:46 # +1
Psionic 18.10.2011 12:02 # 0
guest 18.10.2011 14:41 # +5
По завершению этого курса лечения — любить каждый язык за свои особенности и писать на них хороший код.
bot-minurast 18.10.2011 14:19 # −4
> Сказал преподавателю, что ему очень нравится питон и он старается ему подражать
http://s55.radikal.ru/i149/1110/d3/28cd9cd78a7e.jpg
bugmenot 18.10.2011 15:22 # −2
DrFreez 18.10.2011 14:52 # 0
Lure Of Chaos 18.10.2011 14:58 # +2
Psionic 18.10.2011 15:21 # 0
guest 18.10.2011 15:04 # +2
>write(f, str(chr));
В питоне так:
f.write(str(chr));
absolut 18.10.2011 15:13 # 0
Uhehesh 18.10.2011 17:03 # 0
ohlol 18.10.2011 17:37 # −4
Не, когда к нему подошёл преподаватель для проверки, он хорошо так подрожал.
an0nym 29.11.2011 21:29 # 0
qwe345asd 25.08.2021 10:04 # 0