- 1
// When F does not contain result_type, result_of<F(T1, T2, ..., TN)>::type is F::result<F(T1, T2, ..., TN)>::type when N > 0 or void when N = 0.
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+9
// When F does not contain result_type, result_of<F(T1, T2, ..., TN)>::type is F::result<F(T1, T2, ..., TN)>::type when N > 0 or void when N = 0.
http://www.boost.org/doc/libs/1_54_0/libs/utility/utility.htm#result_of
> void when N = 0.
Создатели boost::result_of решили, что если функция принимает 0 аргументов, то она не может ничего возвращать кроме void.
+20
Matrix matrix ( h, w );
delete &h, &w;
for ( int i = 0; i < h; i++ )
{
for ( int j = 0; j < w; j++ )
{
cout << "Введите элемент [" << i << ", " << j << "]: ";
cin >> matrix[i][j];
}
}
Найди ошибку...
+14
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
int main()
{
setlocale(0,"Russian");
cout<<"Пишиш без a,b,c,приклад: 2 5 -12 або натиснеш на Enter и пишеш вниз,"<<endl;
cout<<"ПИШИ:"<<endl;
float D;
int repetare=0;
int a;
int b;
int c;
int x1;
int x2;
repetare;
{
while(repetare<100)
{
cout<<"a=";
cin>>a;
cout<<"b=";
cin>>b;
cout<<"c=";
cin>>c;
D=(b^2-(4*a*c))*(-1);
x1=(b-sqrt(D))/(2*a);
x2=(b+sqrt(D))/(2*a);
if (D>0)
{
cout<<"D="<<D<<endl;
cout<<"x1="<<x1<<endl;
cout<<"x2="<<x2<<endl;
cout<<"Имеет два кореня"<<endl;
}
if (D<0)
{
cout<<"D="<<D<<endl;
cout<<"Не имеет кореней"<<endl;
}
if(D=0)
{
cout<<"D="<<D<<endl;
cout<<"x1="<<x1<<endl;
cout<<"Имеет один корень"<<endl;
}
repetare++;
}
}
getche();
return 0;
}
С одного из сайтов игроделов. Просто оставлю это здесь
+83
typedef map<string,string> keys_map;
...
const keys_map::const_iterator SectionData::operator[](int Index) const
{
keys_map::const_iterator it=m_Keys.begin();
int cnt=0;
for(;it!=m_Keys.end(); it++)
{
if(cnt==Index)
return it;
cnt++;
}
return (keys_map::const_iterator)NULL;
}
...
SectionData section;
keys_map::::const_iterator iter;
for (i=0; i<section.GetSize(); i++) {
iter = section[i];
...
}
правильный способ итерироваться по мапу
+77
float tlen = sqrtf(top[0]*top[0]+top[1]*top[1]+top[2]*top[2]);
Всё в мире тлен и безысходность. В том числе и код.
+15
union AtomicIndx
{
struct { std::atomic<uint16> ReadCur, ReadMax, WriteCur, WriteMax; };
struct { struct Idx { uint16 Cur, Max; }; std::atomic<Idx> Read, Write; };
struct { struct Idx { uint16 ReadCur, ReadMax, WriteCur, WriteMax; }; std::atomic<Idx> All; };
};
static_assert(sizeof(AtomicIndx) == sizeof(uint64), "sizeof(AtomicIndx) != sizeof(uint64)");
Мы все знаем откуда это.
+20
template<class T>
void FuncSmth(T value)
{
if(typeid(T) == typeid(int))
FuncInt(value);
else if(typeid(T) == typeid(char*))
FuncCharPtr(value);
}
Оттуда
+21
typedef void *(*internalPointer) (const std::map<std::string, std::pair<const void* volatile* const, void* const *> > (*FuncPointer)(volatile const int&, const char *const, const void *const *const (*FuncArg)(const std::vector<std::string>&)), void * const *, volatile int&, int * (*FuncArg2) (const std::string&, const std::vector<void>*) );
+12
if ( (_gen_statP==tm_Manual) ||
(_gen_statP==tm_OK) && (_cur_statP!=tm_Manual) ||
(_gen_statP==tm_ValidTM) && (_cur_statP!=tm_Manual) && (_cur_statP!=tm_OK) ||
(_gen_statP==tm_Rejected) && (_cur_statP!=tm_Manual) && (_cur_statP!=tm_OK) && (_cur_statP!=tm_ValidTM) ||
(_gen_statP==tm_Bad) && (_cur_statP!=tm_Manual) && (_cur_statP!=tm_OK) && (_cur_statP!=tm_ValidTM) && (_cur_statP!=tm_Rejected) ||
(_gen_statP==tm_Statistic) && (_cur_statP!=tm_Manual) && (_cur_statP!=tm_OK) && (_cur_statP!=tm_ValidTM) && (_cur_statP!=tm_Rejected) && (_cur_statP!=tm_Bad)
) {
_cur_statP = _gen_statP;
}
if ( (_gen_statQ==tm_Manual) ||
(_gen_statQ==tm_OK) && (_cur_statQ!=tm_Manual) ||
(_gen_statQ==tm_ValidTM) && (_cur_statQ!=tm_Manual) && (_cur_statQ!=tm_OK) ||
(_gen_statQ==tm_Rejected) && (_cur_statQ!=tm_Manual) && (_cur_statQ!=tm_OK) && (_cur_statQ!=tm_ValidTM) ||
(_gen_statQ==tm_Bad) && (_cur_statQ!=tm_Manual) && (_cur_statQ!=tm_OK) && (_cur_statQ!=tm_ValidTM) && (_cur_statQ!=tm_Rejected) ||
(_gen_statQ==tm_Statistic) && (_cur_statQ!=tm_Manual) && (_cur_statQ!=tm_OK) && (_cur_statQ!=tm_ValidTM) && (_cur_statQ!=tm_Rejected) && (_cur_statQ!=tm_Bad)
) {
_cur_statQ = _gen_statQ;
}
Вроде работает, но уж больно некрасиво) по идее вычисляет новый статус в соответствии с "приоритетом"
+12
void FileCreate(const char *name)
{
ofstream F;
F.open(name); // Create file
F.close(); //close the file
}
void InputProduct(Product &b) //function for entering product
{
char c; int i=0;
cout<<"Input name of product \n";
// enter the string until you meet the character \n or EOF or until a limit is the number of symbols
for ( i=0; i<l_name && (c = getchar())!= EOF && c!='\n';++i )
b.name[i] = c ;
b.name[i]='\0'; // at the end of the line write the terminating line \0
// rest of code ...
}
Студенты такие студенты ...