- 1
- 2
- 3
- 4
- 5
for ( std::size_t i = startIndex; i < indices.size(); ++i )
{
std::size_t idx = i % indices.size();
// Some code that uses idx ...
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+16
for ( std::size_t i = startIndex; i < indices.size(); ++i )
{
std::size_t idx = i % indices.size();
// Some code that uses idx ...
}
Обогреваем помещение.
+20
#include <iostream>
#include <string>
#include <utility>
#include <tuple>
#include <array>
#include <vector>
#include <algorithm>
#include <iterator>
int main() {
const std::array< const std::pair<const int, const std::string>, 3 > a {{{1,"2"}, {3,"4"}, {5,"6"}}};
std::vector<std::string> r;
std::transform(std::begin(a), std::end(a), std::back_inserter(r), static_cast<std::string const& (*)(const std::tuple<const int, const std::string>&)>(std::get<1, const int, const std::string>));
std::copy(std::begin(r), std::end(r), std::ostream_iterator<const std::string>(std::cout, " "));
return 0;
}
У нас новичку на собеседовании предложили продемонстрировать работу (без конкретики) с кортежами и итераторами.
Что вы можете сказать про его умения, характер и состояние психики? А вы бы этого взяли на работу?
http://liveworkspace.org/code/2DW59a$0
+16
for (;!pool.isEmpty() || started;) {
for (;!pool.isEmpty();) {
GramophoneEvent event = pool.poll();
event.apply(handler);
}
while для слабаков!
+12
#ifndef __MAKROS_H__
#define __MAKROS_H__
// ...
#define countof( array ) sizeof( array ) / sizeof( array[ 0 ] )
#define IS_CLUSTER( id ) id >= FIRST_CLUSTER_ID
#define CREATE_TEMP_FILE( autoclean_name, file_prefix ) \
char create_temp_file_file_mask[ MAX_PARAM_STR_LENGTH ]; \
snprintf( create_temp_file_file_mask, MAX_PARAM_STR_LENGTH, "%s/%sXXXXXX", config::tmp_path, file_prefix ); \
int create_temp_file_desc=mkstemp( create_temp_file_file_mask ); \
if(create_temp_file_desc<0) \
{ \
DEBUG_E( Interface, "Cannot create temporary file: %s\n", create_temp_file_file_mask ); \
ret=RET_CANTOPENFILE; \
CHECK_RET(sock, ret); \
return true; \
} \
close(create_temp_file_desc); \
autoclean autoclean_name( create_temp_file_file_mask );
#endif // __MAKROS_H__
Это просто праздник какой-то
+11
template <class T>
class autoptr
{
private:
T * _ptr;
public:
autoptr()
{
_ptr = 0;
}
autoptr( T * ptr )
{
_ptr = ptr;
}
~autoptr()
{
if(_ptr) delete _ptr;
}
operator T * ()
{
return _ptr;
}
T * operator -> ()
{
return _ptr;
}
T * get()
{
T *ret = _ptr;
_ptr = 0;
return ret;
}
};
template <class T>
class autoptr_mas
{
// ...
НУ ЗАЧЕМ?!
+24
void sleep_in_qt_ms(unsigned millisec) {
QMutex foo;
foo.lock();
foo.try_lock(millisec);
foo.unlock();
}
sleep в Qt - что, серьезно, чтоли?
особенно порадовало: Warning: Destroying a locked mutex may result in undefined behavior.
действительно, накой нам деструкторы?
+11
void Bitmap::flipRB()
{
int nBytes = w*h;
void *d = data;
__asm
{
mov edx, 0;
pixloop: mov eax, d;
mov eax, [eax];
mov ebx, edx;
shl ebx, 0x2;
add eax, ebx;
mov ebx, [eax];
and ebx, 0xFFFFFF;
mov ecx, ebx;
shr ebx, 0x10;
shl ecx, 0x10;
or ebx, ecx;
shr ecx, 0x10;
and ecx, 0xFF00;
or ebx, ecx;
and ebx, 0xFFFFFF;
or ebx, 0xFF000000;
mov [eax], ebx;
inc edx;
cmp edx, nBytes;
jne pixloop;
}
}
Откопал очередной свой велосипедный класс, в нем попался такой вот метод для конвертирования цветов ARGB в ABGR.
+3
#include <cstdlib>
#include <iostream>
#include <time.h>
using namespace std;
const int n=20;
int mass[20];
void massiv(int x[])
{
srand(time(NULL));
for(int i=0;i<20;i++) mass[i]=rand()%100;
return 0;
}
void vivod(int x[])
{
for(int i=0;i<20;i++) cout<<mas[i]<<"\n";
return 0;
}
void sort (int x[])
{
int i,j,b;
for(j=1;j<=n-1;j++)
for(i=0;i<=n-1-j;i++)
if (mass[i]>mass[i+1])
{
b=mass[i];
mass[i]=mass[i+1];
mass[i+1]=b;
}
}
return 0;
}
int main(int argc, char *argv[])
{
zapolneniemassiva(mass[20]);
pokaz(mass[20]);
sort(mass[20]);
variant3(mass[20]);
system("PAUSE");
return EXIT_SUCCESS;
}
Одногруппник сделал лабу на C++, программа сортирует массив по возрастанию и выводит, ну, по крайней мере, должна.
+1
int main()
{
__asm()
{
NOP
}
return 0;
}
программа делает ничего, но делает
+11
typedef ::boost::array<T, item_amount+1> not_raw_array;
union data
{
not_raw_array m_raw_array;//Most members of boost::array not suitable for call with raw array. Be careful!
};