首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏程序猿小亮的专栏

    Option Explicit

    Option Explicit { On | Off } 各部分说明: On 可选。启用 Option Explicit 检查。 如果在 Option Explicit 语句后没有指定 On 或 Off,则默认为 On。 Off 可选。禁用 Option Explicit 检查。 Option Explicit 语句 在模块级别中使用,强制显示声明模块中的所有变量。Option Explicit 语句必须写在模块的所有过程之前。 如果代码中没有指定 Option Explicit,编译器的默认设置将是 Option Explicit On。 使用Option Explicit 可避免拼错现有变量的名称,或避免在变量范围不清楚的代码中产生混淆。

    1.3K20发布于 2021-01-29
  • 来自专栏C++

    C++中explicit详解

    在C++中,explicit关键字用于修饰构造函数和转换运算符,其主要目的是防止隐式类型转换和拷贝初始化,从而提高代码的可读性和安全性。以下是explicit的详细作用和使用场景:1. 示例2:使用explicitclass MyClass {public: explicit MyClass(int x) : value(x) {} // explicit构造函数 int 示例2:使用explicitclass MyClass {public: explicit MyClass(int x) : value(x) {} // explicit构造函数 int 使用explicit可以避免这种歧义。 示例2:使用explicitclass MyClass {public: explicit MyClass(int x) : value(x) {} // explicit构造函数 explicit

    49210编辑于 2025-06-30
  • 来自专栏技术之路

    c++基础 explicit

    c++的构造函数也定义了一个隐式转换 explicit只对构造函数起作用,用来抑制隐式转换 看一个小例子 新建一个头文件 #ifndef CMYSTRING_H #define CMYSTRING_H CMyString::SetString(string str) { std::cout<<str; } 在调用 的时候 可以直接这么调用构造函数 CMyString my1="ab"; 加上explicit define CMYSTRING_H #include<string> #include<iostream> using namespace std; class CMyString { public: explicit

    50450发布于 2018-01-31
  • 来自专栏xingoo, 一个梦想做发明家的程序员

    关键字explicit

    1 class gxgExplicit //没有关键字explicit的类 2 3 { 4 5 public: 6 7 int _size; 8 9 gxgExplicit 所以,explicit就派上了用场。 修改代码为: 1 class gxgExplicit 2 3 { 4 5 public: 6 7 int _size; 8 9 explicit gxgExplicit gxgExplicit 2 3 { 4 5 private: 6 7 int _size; 8 9 int _age; 10 11 public: 12 13 explicit gxgExplicit 2 3 { 4 5 private: 6 7 int _size; 8 9 int _age; 10 11 public: 12 13 explicit

    61560发布于 2018-01-17
  • This application has no explicit mapping for error

    你遇到的类似以下的报错信息,看完本文你将能彻底解决此类错误: "This application has no explicit mapping for /error, so you are seeing

    13720编辑于 2026-04-14
  • 来自专栏jiajia_deng

    类之间的类型转换 explicit 使用

    以及 explicit 关键字的使用。 Point3D { public: Point3D(int x, int y, int z) :_x(x), _y(y), _z(z) {} // 通过构造器将一个非构造器类型的对象转化为构造器类型对象 explicit Point2D p2(2, 3); cout << p2; Point3D p3(7, 8, 9); cout << p3; // 通过构造器将一个非构造器类型的对象转化为构造器类型对象 // 没加 explicit 关键字时,类似于C语言中的隐式转化 // Point3D p3a = p2; // cout << p3a; // 加了 explicit 关键字后,显式转换 Point3D p3a = static_cast

    49930编辑于 2023-10-20
  • 来自专栏漫漫深度学习路

    c++ explicit 关键字

    这时候就要在这个构造器前面加上explicit修饰, 指定这个构造器只能被明确的调用,使用, 不能作为类型转换操作符被隐含的使用。 呵呵, 看来还是光明正大些比较好。 explicit构造函数的作用 解析: explicit构造函数是用来防止隐式转换的。 Test2(int n) { num = n; } //explicit(显式)构造函数 private: int num; }; int main() { Test1 而Test2的构造函数被声明为explicit(显式),这表示不能通过隐式转换来调用这个构造函数,因此代码18行会出现编译错误。 普通构造函数能够被隐式调用。 而explicit构造函数只能被显示调用。

    1.1K30发布于 2019-05-26
  • 来自专栏MySQL技术

    explicit_defaults_for_timestamp参数详解

    简介: explicit_defaults_for_timestamp 系统变量决定MySQL服务端对timestamp列中的默认值和NULL值的不同处理方法。 1.explicit_defaults_for_timestamp = OFF 当该参数默认设置为OFF时,其行为如下: 在默认情况下,如果timestamp列没有显式的指明null属性,那么该列会被自动加上 即explicit_defaults_for_timestamp=OFF时,即使timestamp列设为NOT NULL也能插入NULL值,系统会自动将NULL值设为current timestamp。 2.explicit_defaults_for_timestamp = ON 当该参数设置为ON时,其行为如下: 如果timestamp列没有显式的指定not null属性,那么默认的该列可以为null 同样的,我们来测试下: mysql> show variables like 'explicit_defaults_for_timestamp';+---------------------------

    5.1K50发布于 2019-09-08
  • 来自专栏电光石火

    swagger报错This application has no explicit mapping for

    提示一下错误 Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing

    7.7K30发布于 2019-12-06
  • 来自专栏机器学习、深度学习

    人脸对齐--Face Alignment by Explicit Shape Regression

    Face Alignment by Explicit Shape Regression CVPR2012 https://github.com/soundsilence/FaceAlignment

    1K30发布于 2019-05-26
  • 来自专栏c++与qt学习

    C++ explicit关键字详解

    C++ explicit关键字详解 首先, C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的,跟它相对应的另一个关键字是implicit 我们来看下面的例子: class CxString // 没有使用explicit关键字的类声明, 即默认为隐式声明 { public: char *_pstr; int 答案就是使用explicit关键字. _size; explicit CxString(int size) { _size = size; // 代码同上, 省略... 上面也已经说过了, explicit关键字只对有一个参数的类构造函数有效, 如果类构造函数参数大于或等于两个时, 是不会产生隐式转换的,所以explicit关键字也就无效了.

    10.1K40发布于 2021-11-15
  • 来自专栏最新最全的大数据技术体系

    This application has no explicit mapping for 解决方法

    一、错误提示: Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing lilinzhiyu/p/7921890.html 六、关于eclipse启动springboot报错原因: 当启动eclipse部署的项目的时候,同样出现了This application has no explicit

    29.6K10编辑于 2021-12-06
  • 来自专栏叶子的开发者社区

    C++的explicit和隐式转换

    ),name(name){} }; int main() { Me me={1,"yemaolin"}; } 但有时候我们希望禁止隐式类型转换,要求显式地调用构造函数进行类型转换,这就需要调用explicit 如下这个代码就有语法错误了 #include<iostream> using namespace std; class Me{ private: int number; public: explicit Me(int n):number(n){} }; int main() { Me me=1; } explicit修饰使得该构造函数只能被显式调用,而不能被隐式调用,这样可以防止意外的隐式类型转换

    42910编辑于 2023-12-02
  • 来自专栏GPUS开发者

    DAY 94:阅读Explicit Synchronization and Logical GPU Activity

    Explicit Synchronization and Logical GPU Activity Note that explicit synchronization is required even

    58010发布于 2018-12-26
  • 来自专栏CPP开发前沿

    C++ explicit关键字详解

    C++编码时,可以通过构造函数将相应的数据类型转换成为C++类的对象,从某种程度来说给编码带来了方便,但并不是每次都正确,为了避免这种情况,C++提供了explicit关键字,相对于implicit而言 // 没有使用explicit关键字的类声明, 即默认为隐式声明 class CString{ private: char *m_pStr; int m_iSize; public class CString{ private: char *m_pStr; int m_iSize; public: explicit CString(int size 关键字可以防止构造函数进行隐式自动转换 3 再次拆解 explicit关键字只对构造函数有一个参数的形式有效,如果构造函数有多个参数时explicit的功能也将失效,但是C++也提供了一种例外,既如果构造函数的其他参数都有默认值及时参数个数大于 1个explicit也是生效的。

    1.6K20编辑于 2021-12-27
  • 来自专栏女程序员的日常

    Effective C++学习笔记之explicit

    关键字:   explicit意思为“明确的”和“清楚的”,是C++的关键词,意在阻止隐式类型的转换; 使用原因:   有时候不合法的隐式转换,会让乖巧听话的程序变得不可控。 所以适当地使用explicit关键字是有必要的。    1、传入name的构造函数,没有使用explicit关键字,直接对testDog传入一个string或者char *,也能得到想要的输出。 2、传入age的构造函数,使用了explicit关键字,参数传入int型的2会编译不过,表示“不能做隐式int->Dog转换”。将Dog(2)当做函参传入就会解决此问题。 > 2 using namespace std; 3 4 class Dog 5 { 6 public: 7 string name; 8 int age; 9 10 explicit

    62220发布于 2018-08-28
  • 来自专栏ClearSeve

    关键字 explicit 是什么意思

    问题 C++ 中的关键字explicit是什么意思? 但是如果你现在在构造函数的前面加个关键字explicit,它的意思就是要告诉编译器,这个隐式转换不会再被允许了,当编译到DoBar(42)的时候就会报错,除非你显示调用,像这样DoBar(Foo(42) 只有当你有一个好的理由允许构造函数隐式转换,不然的话请把它们都声明为explicit,因为隐式转换容易导致错误,而这个错误往往不容易察觉。

    78320编辑于 2022-02-10
  • 来自专栏一个会写诗的程序员的博客

    Choosing the object-to-lock in explicit locks (ReentrantLock example)

    Choosing the object-to-lock in explicit locks (ReentrantLock example) https://coderanch.com/t/665262/ java/Choosing-object-lock-explicit-locks So, I just finished studying synchronized keyword (Blocks and So, When i started attempting to study explicit locks, I came across this example [Source] Java 8 Concurrency 2- When using explicit locks (in the above ReentrantLock example), How do i get to choose the object With explicit locks this doesn't happen, as long as you keep locks private. Question.

    46850发布于 2019-07-08
  • 来自专栏null的专栏

    C++中的explicit关键字

    1. explicit关键字 explicit的中文含义是显示的,在C++中主要用于防止隐式转换的发生。 如果加上explicit关键字又会是怎样,在Demo(int a)前面加上explicit,结果在编译的时候就显示“no known conversion for argument 1 from ‘int 构造函数 C++中的explicit关键字只能用于修饰只有一个参数或者多参数情况下,除了第一个参数外的其他参数都是默认值的构造函数中,对于无参或者除上述之外的多参数构造函数是无效的,如: class Demo { public: explicit Demo() {}; // 无效 explicit Demo(int a); // 有效 explicit Demo(int a, int b = 0); // 有效 explicit Demo(int a, int b); // 无效 private: int

    84030发布于 2021-09-06
  • 来自专栏MYSQL轻松学

    explicit_defaults_for_timestamp参数导致复制中断

    explicit_defaults_for_timestamp是从5.6.6引入的一个新参数,默认是off。 作用:对TIMESTAMP类型列的默认值和NULL值的处理,是否启用非标准特性。 默认情况下,explicit_defaults_for_timestamp被禁用,即启用非标准特性。 什么是非标准特性? 具体分析: mysql主库为5.5.38版本,一、二级从库版本为5.6.36,我们知道5.6后引入explicit_defaults_for_timestamp参数,通过查看explicit_defaults_for_timestamp 解决: 修改二级从库explicit_defaults_for_timestamp=0,往timestamp数据类型列插入null值时,会自动为该列设置为current time(需要重启mysql服务后恢复 ) 研发修改sql,将null值修改成now() explicit_defaults_for_timestamp跟其他参数正好相反,NULL或NOT NULL需要十分注意,最好的方式就是规范话,统一为

    1.8K50发布于 2018-03-09
领券