++низИндекс
--верхИндекс
пока низИндекс < верхИндекс
поменять a[низИндекс], а[верхИндекс]
++низИндекс
--верхИндекс
QApplication a(argc, argv); // это наша программа, обычно создано автоматом
a.addLibraryPath(QCoreApplication::applicationDirPath());
QString *qs = new QString("переведи меня в чары! :)");
char const* ch = qs->toLocal8Bit().constData();
QString qs("переведи меня в чары! :)");
char const* ch = qs.toLocal8Bit().constData();
arr2[i]==sarr[j]
во втором фрагменте, скорее всего, не выполнится.sortedList[arr2[i]] = 1
. Вот только как найти то, есть ли?system("gcc \"C:/Folder/My Folder/example.c\"" );
system("gcc \"C:\\Folder\\My Folder\\example.c\"" );
std::cout << text.substr(начало, длина) << std::endl;
BaseClass baseClassObj;
BaseClass *BaseClassObjPtr = new BaseClass(2);
std::unique_ptr<BaseClass> BaseClassObjUp = new BaseClass(2);
Это уже маленький объект со своим деструктором. А в деструкторе находится delete, и он сработает, как только программа выйдет из своего блока.TForm1 = class(TForm)
...
private
MyLabel,MyLabel2:TLabel; // тут они занулятся автоматически, да и фэншуйнее
...
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
...
MyLabel2.Caption:='3';
Invalidate; // Запросить перерисовку
end;
procedure TForm1.FormPaint(Sender: TObject); // Событие OnPaint
begin
if MyLabel <> nil then
with Canvas do begin
Pen.Color:=clRed;
MoveTo(MyLabel.left,MyLabel.top+(MyLabel.Font.Size+MyLabel.Font.Size div 2) div 2);
LineTo(MyLabel2.left,MyLabel2.top+(MyLabel2.Font.Size+MyLabel2.Font.Size div 2) div 2);
end;
end;
MyLabel := TLabel.Create(Form1);
MyLabel.Parent := Form1;
Лучше использовать Self, а не Form1.Form1: TForm1;
p,c,z,j:integer;
Если бы эти переменные были нужны, лучше было бы их внести в Form1. Если бы…function rez(p:integer): integer;
begin
c:=p+20;
end;
Мы тут, очевидно, рассчитываем габариты наших надписей. А нельзя это сделать без побочных эффектов?__mpz_struct* foo()
{
mpz_t var;
return (__mpz_struct *)var;
// C:\TestApps\RetLocal\main.cpp|15|warning: address of local variable 'var' returned [-Wreturn-local-addr]|
}
__mpz_struct* bar()
{
__mpz_struct* var = new mpz_t;
return var;
}
public int CompareTo(Book book)
{
if (book != null)
{
int r = name.CompareTo(book.name);
if (r != 0)
return r;
r = author.CompareTo(book.author);
if (r != 0)
return r;
return Math.sign(releaseDate - book.releaseDate);
}
else
{
throw new Exception("Невозможно сравнить два объекта");
}
}
const int NAME = 0, AUTHOR = 1, COUNT = 2;
class ByName : Comparer<Book> {}
class ByAuthor : IComparer<Book> {}
Comparer<Book> comparers[COUNT] = { new ByName(), new ByAuthor() };
const int S_NAME = 0, S_AUTHOR = 1, S_COUNT = 2;
const int I_DATE = 0;
public class Book
{
string stringFields[S_COUNT];
int intFields[I_COUNT];
public string name {
get { return stringFields[S_NAME; ] }
set { stringFields[S_NAME] = value; }
}
}
class StringComparer : IComparer<Book> {
int code;
StringComparer(int aCode) { code = aCode; }
int Compare(Book a, Book b) { return a.stringFields[code].compareTo(b.stringFields[code]); }
}
const int ALL_NAME = 0, ALL_AUTHOR = 1, ALL_DATE=2, ALL_COUNT = 3;
Comparer<Book> comparers[ALL_COUNT] = {
new StringComparer(S_NAME), new StringComparer(S_AUTHOR), new IntComparer(I_DATE) };
<?xml version="1.0"?>
<Book isbn="1234"
pfx:cover="hard"
xmlns="http://www.library.com"
xmlns:pfx="http://www.library.com">
<Title>Sherlock Holmes</Title>
<Author>Arthur Conan Doyle</Author>
</Book>
enum {
SURROGATE_MIN = 0xD800,
SURROGATE_MAX = 0xDFFF,
SURROGATE_LO_MIN = SURROGATE_MIN,
SURROGATE_HI_MIN = 0xDC00,
SURROGATE_LO_MAX = SURROGATE_HI_MIN - 1,
SURROGATE_HI_MAX = SURROGATE_MAX,
UNICODE_MAX = 0x10FFFF,
U8_1BYTE_MAX = 0x7F,
U8_2BYTE_MIN = 0x80,
U8_2BYTE_MAX = 0x7FF,
U8_3BYTE_MIN = 0x800,
U8_3BYTE_MAX = 0xFFFF,
U8_4BYTE_MIN = 0x10000,
U8_4BYTE_MAX = UNICODE_MAX,
U16_1WORD_MAX = 0xFFFF,
U16_2WORD_MIN = 0x10000,
U16_2WORD_MAX = UNICODE_MAX,
};
void str::putCpNe (char*& p, unsigned long aCp)
{
if (aCp <= U8_2BYTE_MAX) { // 1 or 2 bytes, the most frequent case
if (aCp <= U8_1BYTE_MAX) { // 1 byte
*(p++) = static_cast<char>(aCp);
} else { // 2 bytes
*(p++) = static_cast<char>((aCp >> 6) | 0xC0);
*(p++) = static_cast<char>((aCp & 0x3F) | 0x80);
}
} else { // 3 or 4 bytes
if (aCp <= U8_3BYTE_MAX) { // 3 bytes
*(p++) = static_cast<char>( (aCp >> 12) | 0xE0);
*(p++) = static_cast<char>(((aCp >> 6) & 0x3F) | 0x80);
*(p++) = static_cast<char>( (aCp & 0x3F) | 0x80);
} else { // 4 bytes
*(p++) = static_cast<char>(((aCp >> 18) & 0x07) | 0xF0);
*(p++) = static_cast<char>(((aCp >> 12) & 0x3F) | 0x80);
*(p++) = static_cast<char>(((aCp >> 6) & 0x3F) | 0x80);
*(p++) = static_cast<char>( (aCp & 0x3F) | 0x80);
}
}
}
void str::appendCp(std::string & s, unsigned long aCp)
{
char c[5];
char* end = c;
putCpNe(end, aCp);
s.append(c, end);
}