首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用下标给string类型赋值之后,cout输出变量为空的问题。

    今天写创建文件夹的时候,怎么创建都不会,反复修改,确定错误是出在了string类型的变量上面。...看下面代码 //这个一个函数中的代码,函数参数是string fileurl_s int len = fileurl_s.length(); std::string...,以及子文件夹,根据参数来做,有则略过,无则创建 但是我发现根本创建不了文件夹 我试着输出循环中的fileurl_s_cy[i],能够正常输出我想要的字符 但是当我输出fileurl_s_cy的时候出了问题...,fileurl_s_cy至始至终为空,长度也为空,导致无法正常创建文件夹 明明可以正常输出fileurl_s_cy[i],但是无法正常输出fileurl_s_cy,本以为是’\0’的问题,发现加上也无济于事...解决方法如下: 声明的时候改为std::string fileurl_s_cy(len,’\0’); 这样就可以正常使用下标赋值,输出以及整体输出 怕忘记,记录与此。

    6.3K40

    谷歌多模态大模型PaLI:采用参数量为4B的ViT-e,效果超过BEiT-3

    在视觉方面,除复用 2B 参数 ViT-G 模型外,作者还训练了拥有 4B 参数的模型 ViT-e("enormous")。...ViT-e 在图像任务上表现出很好的性能(ImageNet 上准确率达到 90.9%;ObjectNet 准确率达到 84.9%)。...作者发现了联合 scaling 视觉和语言组件的好处,视觉提供了更好的投入回报(每个参数 / FLOP 带来的准确度提升)。...实验结果表明,最大的 PaLI 模型——PaLI-17B 在两种任务模式下表现相对平衡,ViT-e 模型约占总参数的 25%。...作者通过将多个图像和 (或) 语言任务转换为广义的类似 VQA 的任务,实现它们之间的知识共享。使用 “image+query to answer” 来构建所有任务,其中检索和回答都表示为文本标记。

    1.1K10

    C++核心准则C.60: 拷贝赋值运算符应该是以const&为参数,返回非常量引用类型的非虚函数

    const&为参数,返回非常量引用类型的非虚函数 Reason(原因) It is simple and efficient....通过将数据直接写入对象元素,我们可以得到基本的保证而不是通过swap技术提供的强保证。为了防止自己给自己赋值。...如果你认为你需要一个虚赋值操作运算符,而且理解它会产生很深刻的问题,别把设计成赋值运算符。将它定义为具名函数,例如virtual void assign(const Foo&)。...(简单)赋值运算符应该返回T&,这样才能实现连续赋值。不要改成类似const T&的类型,这样会影响组装性并妨碍将对象放进容器中。...(中等)赋值运算符应该(隐式或显式)调用所有的基类和成员的赋值运算符。观察析构函数以决定这个类型式指针语义还是值语义。

    1.2K30

    【Kotlin】扩展函数 ② ( 扩展属性 | 为可空类型定义扩展函数 | 使用 infix 关键字修饰单个参数扩展函数的简略写法 )

    | private 私有扩展函数 | 泛型扩展函数 | 标准函数 let 函数是泛型扩展函数 ) 中 , 介绍了给 现有类 定义 扩展函数 , 此外还可以 给现有类定义 扩展属性 ; 为现有类定义 扩展属性..., 扩展属性 , 都是为 非空类型 定义的 , 如果要为 可空类型 定义扩展函数 , 则需要在 扩展函数 中 处理时 , 要多考虑一层 接收者 this 为空 的 情况 ; 注意下面的调用细节 : 如果定义的...扩展函数 是 为 非空类型定义的 , 可空类型变量 想要调用该 扩展函数 , 在调用时使用 " ?....非空类型扩展函数 如果定义的 扩展函数 是为 可空类型定义的 , 可空类型变量 想要调用该 扩展函数 , 在调用时直接使用 " . " 进行调用即可 ; 可空类型实例对象.可空类型扩展函数 代码示例...可以省略 接收者与函数之间的点 和 参数列表的括号 ; 调用 使用 infix 关键字修饰 的 单个参数扩展函数 : 接收者 函数名 函数参数 也可以使用 传统方式调用 : 接收者.函数名(函数参数)

    2.8K30

    状态机编程实例-状态表法

    首先来看函数指针的定义,以及基础用法: //定义一个函数指针pFUN,它指向一个返回类型为void,有一个参数类型为int的函数 void (*pFun)(int); //定义一个返回类型为void,...参数为int的函数。...pFun = glFun; //将函数glFun的地址赋值给变量pFun (*pFun)(2);//“*pFun”是取pFun所指向地址的内容,即取出了函数glFun()的内容,然后给定参数为2...,参数是int typedef void (*PTRFUN)(int); //定义一个返回类型为void,参数为int的函数 void glFun(int a) { printf("%d\...函数,以函数名(本质即指针)的形式为其赋值 (*pFun)(2); //执行该函数指针指向的内容,即指向指向的函数,并指定参数2 return 0; } 关于函数指针的实际应用

    72851

    C#中的委托和事件 - Part.1

    如果你再仔细想想,假如GreetPeople()方法可以接受一个参数变量,这个变量可以代表另一个方法,当我们给这个变量赋值 EnglishGreeting的时候,它代表着 EnglsihGreeting...我们将这个参数变量命名为 MakeGreeting,那么不是可以如同给name赋值时一样,在调用 GreetPeople()方法的时候,给这个MakeGreeting 参数也赋上值么(ChineseGreeting...和“1”,但不能接受bool类型的true和int类型的1一样。...于是,你是不是在想:在上面的例子中,我不一定要直接在GreetPeople()方法中给 name参数赋值,我可以像这样使用变量: static void Main(string[] args) {...; // 先给委托类型的变量赋值 delegate1 += ChineseGreeting; // 给此委托变量再绑定一个方法 // 将先后调用 EnglishGreeting

    1.3K40

    事件与委托(二)

    一、详细内容 事件Event,使用委托的时候,通常会出现两个角色,一个广播者,一个订阅者。 广播者,这个类型包含一个委托字段,广播者通过委托来决定什么时候进行广播。...{ pulic event PriceChangeHandler PriceChanged; } Brodcaster类型里面的代码拥有对PriceChanged的完全访问权,在这里就可以把它当做委托...而Brodcaster类型之外的代码只能对PriceChanged这个event执行+=或-=操作。...返回类型是void; 接受两个参数,第一个参数类型是object,第二个参数类型是EventArgs的子类。...= null) PriceChanged(this,e); } } (5) 注意 多线程场景下,你需要在测试或调用前,把委托赋值给一个临时变量,来避免线程安全错误: if(PriceChanged

    48020

    C# 中的委托和事件

    如果你再仔细想想,假如GreetPeople()方法可以接受一个参数变量,这个变量可以代表另一个方法,当我们给这个变量赋值 EnglishGreeting的时候,它代表着 EnglsihGreeting...我们将这个参数变量命名为 MakeGreeting,那么不是可以如同给name赋值时一样,在调用 GreetPeople()方法的时候,给这个MakeGreeting 参数也赋上值么(ChineseGreeting...”和“1”,但不能接受bool类型的true和int类型的1一样。...于是,你是不是在想:在上面的例子中,我不一定要直接在GreetPeople()方法中给 name参数赋值,我可以像这样使用变量: static void Main(string[] args) { string...; // 先给委托类型的变量赋值     delegate1 += ChineseGreeting;   // 给此委托变量再绑定一个方法 // 将先后调用 EnglishGreeting 与

    1.4K20

    “协变”、“逆变”与Delegate类型转换

    Delegate(A和B),如果B的所有输入(输入参数)类是A的子类或者类型相同,而A的输出(返回值、输出参数)类型是B的子类或者类型相同,那么在B能够使用的地方A也能够使用。...我们在定义泛型Delegate的时候可以利用C#“协变”与“逆变”,使类型为A对象能够赋值给类型为B的变量。...自定义类型Bar是Foo的子类,那么我们就可以将一个Func 对象赋值给Func变量。...(object sender, TEventArgs e); 根据Delegate“协变”与“逆变”的原理,对于EventHandler,其实应该将作为输入参数类型的...原则上讲,事件可以是任意类型的Delegate,但是我们使用的事件一般具有如下两个共同点: 不具有返回类型,或者返回类型为void; 有且只有两个输入参数,其一个参数类型为Object,第二个类型是EventArgs

    1.1K70

    C# 基础知识系列- 11 委托和事件

    委托在C#中定义为一种面向对象形式的方法寻址方案。简单来讲,就是定义一个类型,然后表示这个类型代表某一种方法。而委托对象,就是方法参数化。...del ; del();// 会直接报错 上述代码如果运行的话,会很直接的报错,因为你没有告诉编译器变量del 应该是什么,也就是没有为del赋值,同时委托可以赋值为null,所以在使用的时候需要注意不能为...public event EventDelegate DelegateEvent; } 一般事件的定义约定俗称是一个void方法,第一个参数是sender表示事件的发布者,默认是object类型...e); 其第二个参数并没有对TEventArgs进行限制,所以我们可以用任何类型当做事件变量。...e); public event EventDelegate DelegateEvent; public void Trigger() { if (DelegateEvent

    1.6K20

    TypeScript不学?你养我啊

    let c:boolean = false 如果我们在声明完直接赋值,并且没有定义类型。如下,此时给bool赋值为true,然后又赋值为123。此时也会报错的。因为Ts会自动判断类型。...function sum(a+b){ return a+b } 函数参数类型声明 我们给参数类型声明为数值,如果我们传参时赋值了字符串,就会报错。...let e:unknown e = 12 e ='sss' any和unknown的区别 如下,any类型的值可以赋值给字符串。...let str:string let e:unknown e ='sss' str = e unknown类型实际上是一个类型安全的any,unknown类型的变量不能赋值给其他变量 unknown类型赋值给...既然在这里提了这个问题,那肯定是用void。 在vsCode编辑器中null返回值不能使用void类型,对于null类型的可以如下面的下面的写法。 而在webstorm中就是可以的。

    1.2K20

    警惕 Visual Studio 属性求值副作用导致逻辑不符合预期

    接着再给 F1 添加一个事件,这个事件让 F2 构造函数监听,其更改之后的代码如下 class F1 { public event EventHandler?...原因是 F2 属性能够必然返回一个 F2 类型的对象,且立刻调用 f2.F3 = new F3(); 赋值。接着再触发 F1 的 FxxEvent 事件。...F2 的 F3 属性为空 是不是感觉很奇怪,明明从静态代码逻辑里面分析,完全不可能存在 F2 的 F3 属性为空的情况,因为事件的触发是在对 F3 属性赋值之后,如下面代码所示 var f1 = new...但是原本的被覆盖的 _f2 字段的 F2 对象的 F3 属性却没有地方赋值,但这个被覆盖的 F2 对象却添加了事件监听,在事件处理函数里面访问了没有赋值的 F3 属性,最终导致空异常 为什么会出现给 _...以上使用的是国内的 gitee 的源,如果 gitee 不能访问,请替换为 github 的源。

    49210
    领券