const
(только для C ++) Для людей, прибывающих с C, может показаться неожиданным, что в C ++ глобальные переменные const
имеют внутренние (или статические) связь. В C это не так, поскольку все глобальные переменные неявно extern
(т.е. когда отсутствует ключевое слово static
).
Пример:
// file1.cpp
const int test = 5; // in C++ same as "static const int test = 5"
int test2 = 5;
// file2.cpp
extern const int test;
extern int test2;
void foo()
{
int x = test; // linker error in C++ , no error in C
int y = test2; // no problem
}
correct would использовать файл заголовка и включить его в file2.cpp и file1.cpp
extern const int test;
extern int test2;
. В качестве альтернативы можно было бы объявить переменную const
в файле file1.cpp с явным extern
String timeuuid = com.datastax.driver.core.utils.UUIDs.timeBased().toString();
посмотрите https://docs.datastax.com/en/drivers/java/2.0/com/datastax/driver/core/utils/UUIDs.html
Будьте очень осторожны, используя com.eaio.uuid.UUID, если вам нужно генерировать GUID по времени, отличному от текущего, так как это всегда будет генерировать тот же UUID для заданного времени. Поэтому, если ваши данные требуют генерации UUID, где записи могут иметь одно и то же время, это будет генерировать одинаковый UUID.
Нам понадобилось это, чтобы сгенерировать UUID для записей, которые создаются заранее, а также несколько записей одновременно, мы попытались настроить его, пытаясь использовать UUIDGen.createTime (). Мы обнаружили, что он имеет побочный эффект, чтобы изменить время выхода из строя. Если последующий запрос на создание UUID
имеет отметку времени, предшествующую предыдущему запросу, вы получите UUID
, который основан на отметке времени предыдущего запроса.
После всего анализа мы имели просто вернуться к созданию UUID
во время создания, так что нам не нужно передавать его в качестве аргумента. Какое бы решение мы придумали для генерации UUID
в более позднее время, у каждого есть недостаток.
FasterXML Java Uuid Generator (JUG)
https://github.com/cowtowncoder/java-uuid-generator
UUID uuid = Generators.timeBasedGenerator().generate();