Как я могу связать строки в VBA?

Используя C++ как C. Наличие цикла создавать-и-выпускать в коде.

В C++, это не безопасное исключение, и таким образом выпуск не может быть выполнен. В C++ мы используем RAII для решения этой проблемы.

Все ресурсы, которые имеют руководство, создают, и выпуск должен быть обернут в объект, таким образом, эти действия сделаны в конструкторе/деструкторе.

// C Code
void myFunc()
{
    Plop*   plop = createMyPlopResource();

    // Use the plop

    releaseMyPlopResource(plop);
}

В C++, это должно быть обернуто в объект:

// C++
class PlopResource
{
    public:
        PlopResource()
        {
            mPlop=createMyPlopResource();
            // handle exceptions and errors.
        }
        ~PlopResource()
        {
             releaseMyPlopResource(mPlop);
        }
    private:
        Plop*  mPlop;
 };

void myFunc()
{
    PlopResource  plop;

    // Use the plop
    // Exception safe release on exit.
}

62
задан Community 9 July 2018 в 19:34
поделиться

2 ответа

& всегда вычисляется в строковом контексте, в то время как + может не объединяться, если один из операндов не является строкой:

"1" + "2" => "12"
"1" + 2   => 3
1 + "2"   => 3
"a" + 2   => type mismatch

Это просто скрытый источник потенциальных ошибок, и поэтому его следует избегать. & всегда означает «конкатенацию строк», даже если его аргументы не являются строками:

"1" & "2" => "12"
"1" &  2  => "12"
 1  & "2" => "12"
 1  &  2  => "12"
"a" &  2  => "a2"
122
ответ дан 24 November 2019 в 16:44
поделиться

Есть функция конкатенации. Например,

=CONCATENATE(E2,"-",F2)
Но оператор & всегда объединяет строки. + часто будет работать, но если в одной из ячеек есть число, это не будет работать должным образом.
0
ответ дан 24 November 2019 в 16:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: