C: копирование строки с правым выравниванием
- Информация о материале
- Автор: Super User
- Родительская категория: Заметки
- Категория: Программирование
- Просмотров: 3265
Выравнивание с правой стороны, с учётом терминатора '\0' и стандартное копирование.
void FastStrCpy(const uint8_t * Src, uint8_t * Dst, uint8_t SizeOfDst, Text_AlignModeTypdef Direction){ // Direction is 0 = default(LEFT one), 1 = // MAXSTRINGLENGTH is compare with max index
uint8_t i = 0;
uint8_t length = 0;
switch (Direction){
case LEFT_MODE: // for(i = 0; i < SizeOfDst; i++){
if(*Src != '\0' ) *Dst++ = *Src++;
else {*Dst='\0'; break;}
} break;
case RIGHT_MODE:
while(Src[i++])length++;
for(i = 1; i < length+1 ; i++) // the lastest symbol is '\0'
Dst[SizeOfDst-i-1] = Src[length-i]; //:) break;
}
}

C++:: operators overload
- Информация о материале
- Автор: Super User
- Родительская категория: Заметки
- Категория: Программирование
- Просмотров: 2188
One of the examples (закидать сразу помидорами?):

Обратите внимание, передача через параметр, т.е. создаётся ещё один экземпляр класса, существующий в рамках только оператора присваивания
Теперь пример через ссылку (рассмотрены операторы + и +=, передача по ссылке):
class Watch{
public:
int x,y;
Watch operator+ (const Watch& w)const;
Watch& operator+= (const Watch& w);
Watch();
Watch(int x, int y);
};
Watch::Watch(){ // конструктор по умолчанию
this->x = 0;
this->y = 0;
}
inline Watch::Watch(int x, int y){ // альтернативный конструктор
this->x = x;
this->y = y;
}
Watch& Watch::operator+=(const Watch& w){ // Переопределение оператора +=
x += w.x;
y += w.y;
return * this;
}
Watch Watch::operator+(const Watch& w)const{
return Watch(x + w.x, y + w.y);
}
Генератор случайных чисел на XOR
- Информация о материале
- Автор: Super User
- Родительская категория: Заметки
- Категория: Программирование
- Просмотров: 3045
class XORShift {
private long rnd;
public XORShift(long rnd) {this.rnd = rnd; }
public long getRandom() {
this.rnd ^= (this.rnd << 21);
this.rnd ^= (this.rnd >>> 35);
this.rnd ^= (this.rnd << 4);
return this.rnd; }
}
Алгоритмы быстрой сортировки
- Информация о материале
- Автор: Super User
- Родительская категория: Заметки
- Категория: Программирование
- Просмотров: 2949
Must have to book :)
Визуальный HTML редактор онлайн
- Информация о материале
- Автор: Super User
- Родительская категория: Заметки
- Категория: Компьютерная повседневность
- Просмотров: 1855

Страница 9 из 197
