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

    C++程序员Python notes

    参考http://blog.chinaunix.net/uid/20039893/frmd/49956.html及其他一些网上资料,C++程序员的Python入门。     sequence: string(不可变)、list、tuple(不可变)     mapping: dictionary,类似stl中的map     可变和不可变类似于c+ 函数传参方式 关键字赋值法:不像C/C++,形参的顺序是可根据传参顺序改变,如:F(arg2 = 2, arg1 = 1) F(arg1,arg2,...) ,类似于c++中的bind。 __del__(self)    类的析构函数 __call__(self, arg1, ...)  类似于C++中的重载括号运算符 类中的权限完全根据_和__来区分,即直接命名的为public函数 派生类需要手动调用基类的__init__,否则继承将不起作用 class Animal(

    50520发布于 2020-01-14
  • 来自专栏学习成长指南

    C++学习~~string(3)

    1.一些函数的使用 (1)我们这个函数的用法就会体现在这个提取后缀,就是对于一个文件,我们想要知道他是什么类型的,例如下面的这个例子里面使用的test.c文件,这个文件的类型就是C类型的文件,我们想要达到的效果就是使用函数提取这个 .c后缀; 我们这个地方使用的就是find函数,这个函数的参数就是这个.字符,因为这个文件的名字和文件的后缀就是使用的.这个字符作为分界线的,这个时候find函数的返回值就是.这个字符对应的下标就是4, 因为这个函数得到的是第一个.后面的所有东西,这个时候我们想要得到的是zip就是最后的一个.后面的字符,这个时候我们应该使用的就是rfind函数,这个函数就可以得到这个字符串里面的最后一个.后面的后缀; (3) 所以我们这里使用的就是rfind函数,如果这个字符串有空格,我们就要使用这个size函数减去i+1;这样求的就是最后的一个单词的长度(因为这个i求的是空格的小标,i+1才是这个最后一个单词的起始位置的下标); 3. 函数只写两个参数就代表的是获取我们输入的所有,加上第三个参数,就获取到这个参数的位置截止;下面做一个简单的对比 (1) 使用cin无法获取空格后面的内容: (2)使用这个getline获取全部内容: (3

    15800编辑于 2025-02-24
  • 来自专栏Android点滴分享

    c++模版笔记(3)

    本篇介绍 本篇继续C++的模版介绍 std::invoke 以一种统一形式调用函数和传递参数: void foreach (Iter current, Iter end, Callable op, Args a:b; } 模版模版参数匹配 对于模版模版参数,c++ 17之后的版本也支持用一个参数包支持多个参数,不需要匹配每个参数。

    44910编辑于 2022-10-25
  • 来自专栏全栈程序员必看

    C++学习笔记3

    C++ 中。函数能够重载。 仅仅要函数中形參的个数或类型不同,则同一个函数名可用于定义不同的函数。编译器将依据函数调用时的实參确定调用哪一个函数。 C++ 提供了两种特殊的函数:内联函数和成员函数。将函数指定为内联是建议编译器在调用点直接把函数代码展开。 内联函数避免了调用函数的代价。成员函数则是身为类成员的函数。 1. v2 is const v3 = incr(0); // error: literals arenot lvalues v3 = incr(v1 + v2) 指向重载函数的指针 C++ 语言同意使用函数指针指向重载的函数: extern void ff(vector<double>); extern void ff(unsigned int); / (vector<double>); pf3 = &ff; 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/116217.html原文链接:https://javaforall.cn

    44210编辑于 2022-07-07
  • 来自专栏c++与qt学习

    c++文件操作3

    参数解释:内存指针buffer指向内存中一段存储空间,len是读写的字数 二进制文件写文件步骤: 1.包含头文件:#include< fstream > 2.创建流对象:ofstream ofs 3.

    50220发布于 2021-02-22
  • 来自专栏Java

    3 的幂(C++)

    3 的幂 给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true;否则,返回 false 。 整数 n是 3的幂次方需满足:存在整数x使得n == 3x 示例 1: 输入:n = 27 输出:true 示例 2: 输入:n = 0 输出:false 示例 3: 输入:n = 9 输出:true 示例 4: 输入:n = 45 输出:false 提示: -231 <= n <= 231 - 1 我的思路: 我们不断地将 n 除以 3,直到 n=1。 如果此过程中 n 无法被 3 整除,就说明 n 不是 3 的幂。 n /= 3; return n == 1; } };

    15700编辑于 2025-01-21
  • 来自专栏Initial programming

    初识C++ · C++11(3

    前言: 本文介绍的是包装器以及线程库的简单了解,但是呢,线程是基于对Linux有一定的了解,所以本文就是简单介绍一下,介绍完包装器以及线程库的简单理解之后C++11的特性就到此为止,当然C++11远不止于此 但是C++不太喜欢使用。 lambda表达式是吧?但是lambda表达式没有类型概念,所以每次需要auto接受,相对于其他两个来说,lambda表达式算是比较好操作的了。 = [](const int a, const int b) {return a + b; }; f1(1, 2); f2(3, 4); f3(5, 4); return 0; } 语法看起来有点怪的 = &Master::Masn; f3(Master(),1, 1); return 0; } 先看语法使用,语法使用如上。 至此,引入一个让人意想不到的事实: 包装器的底层,同样是仿函数:  00007FF6CB3BF0C1  call  std::_Binder<std::_Unforced,int (__cdecl Sub

    21810编辑于 2024-10-16
  • 来自专栏大数据文摘

    资源 | CC++程序员面试神器

    大数据文摘出品 作者:蒋宝尚 CC++在互联企业开发工作中有着非常重要的地位,在《顶级数据团队建设全景报告》中我们通过对企业的调研,发现CC++是含金量指数最高的编程工具。 所以,只要你对CC++有着超强的码力,那么你距离迎娶白富美,走上人生的巅峰就就不远了... ... 成为人生赢家之前,你需要先获得一份CC++相关的工作。 今天文摘菌就给大家推荐一份CC++的面试资料。 资料地址: https://github.com/huihut/interview#%E7%AE%97%E6%B3%95 这份资料一直在不断的更新,从目录中可以看出,除了CC++相关知识的总结还有数据结构 最后再次给出资料地址: https://github.com/huihut/interview#%E7%AE%97%E6%B3%95 【今日机器学习概念】 Have a Great Definition

    52540发布于 2018-12-05
  • 来自专栏闷骚的程序员

    C++ 程序员的 Java 指南

    这是一个 C++ 程序员自己总结的 Java 学习中应该注意的点。 ,也遇到一些与 C++ 里的习惯不符需要注意的地方。 初学时的计划是看完一本 Java 教材,过程中整理 C++ 程序员学习 Java 需要注意的点,然后对照写一篇《C++ 程序员的 Java 指南》,但最后懒癌犯了,只整理了一部分不同点,要形成一份「指南 java 中有 instanceof 运算符,c++ 中对应的 RTTI 方式是(typeid)? java 中的 abstract 方法不能有方法体,c++ 中的 pure virtual 函数可以有实现。

    84310发布于 2020-04-16
  • 来自专栏零域Blog

    C++ 程序员的 Java 指南

    这是一个 C++ 程序员自己总结的 Java 学习中应该注意的点。 ,也遇到一些与 C++ 里的习惯不符需要注意的地方。 初学时的计划是看完一本 Java 教材,过程中整理 C++ 程序员学习 Java 需要注意的点,然后对照写一篇《C++ 程序员的 Java 指南》,但最后懒癌犯了,只整理了一部分不同点,要形成一份「指南 java 中有 instanceof 运算符,c++ 中对应的 RTTI 方式是(typeid)? java 中的 abstract 方法不能有方法体,c++ 中的 pure virtual 函数可以有实现。

    67230编辑于 2022-03-08
  • 来自专栏四火的唠叨

    C++程序员和 Java 程序员的差异

    首先说明,这几年接触的最多的程序员就是 C++程序员和 Java 程序员,这只是我自己的一点体会而已,一个人的眼光难免是浅薄的。不过,欢迎拍砖,也欢迎对号入座。 从对基础知识掌握的程度来说,例如数据结构和算法,C++程序员要比 Java 程序员牢靠得多。究其原因,大概是因为 C++程序员需要经常自己实现那些项目基础设施,但是 Java 程序员大多拿来即用。 公平地说,C++不是一门适合程序员初学者的语言,但是 Java 是。C++程序看起来确实要比 Java 程序稍难懂一些,C++程序员往往思维更加严密。 而且,Java 领域的类库明显要丰富得多,所以在考虑某一个设计实现的时候,Java 程序员很喜欢到处寻找可以拿来即用的类库,但是 C++程序员习惯于自己去做其中大部分的事情。 当然,也有很多程序员天天都在纠结:学什么更赚钱?C++还是 Java 有前途?前端还是后端有前途?转管理还是转咨询?

    81110编辑于 2022-07-15
  • 来自专栏学习成长指南

    C++类和对象(3

    我们可以调用不同的函数,如果只是进行的读取,我们可以调用上面的函数,这样的话我们是没有办法对数据进行修改的;如果想要对数据进行修改,我们就可以调用下面的函数,这样面对不同的情况,调用不同的函数,效率更高; 3. 但是实际上我们使用的时候却不会报错,这个就是因为我们的运算符有一个默认的函数,我们可以直接获取某个对象的地址,不需要进行运算符的重载; 4.流插入&&流提取的运算符重载 (1)流插入运算符和流提取运算符是C+ +里面引入的两个秘密武器,他解决了c语言里面的printf和scanf的局限性问题; (2)如果我们想要打印cout<<d1这个对象,显然是无法实现的,但是我们可以对流插入和流提取这两个运算符进行重载; (3)这里我们考虑的更加全面,我们这里的重载适合cout<<d1<<d2这样多次进行输出的情况,因此我们设置了返回值; (4)这里的重载不能设置为成员函数,因为成员函数里面有默认的this指针,但是我们实际输出的时候

    7900编辑于 2025-02-24
  • C++之类与对象(3

    3. C++规定自定义类型对象进行拷贝行为必须调用拷贝构造,所以这里自定义类型传值传参和传值返回都会调用拷贝构造完成。 4. 若未显式定义拷贝构造,编译器会生成自动生成拷贝构造函数。 ,只要Stack拷⻉构造⾃⼰实现了深拷⻉,他就没问题 MyQueue mq2 = mq1; return 0; } 2.赋值运算符重载 2.1 运算符重载 • 当运算符被用于类类型的对象时,C+ C++规定类类型对象使用运算符时,必须转换成调用对应运算符重载,若没有对应的运算符重载,则会编译报错。 void func() { cout << "A::func()" << endl; } }; typedef void(A::*PF)(); //成员函数指针类型 int main() { // C+ C++规定,后置++重载时,增加一个int形参,跟前置++构成函数重载,⽅便区分。

    17910编辑于 2025-12-19
  • 来自专栏C++

    C++——类和对象(3

    如果你没有给缺省值,对于没 有显示在初始化列表初始化的内置类型成员是否初始化取决于编译器,C++并没有规定。 类型转换C++支持内置类型隐式类型转换为类类型对象,需要有相关内置类型为参数的构造函数。构造函数前面加explicit就不再支持隐式类型转换。类类型的对象之间也可以隐式转换,需要相应的构造函数支持。 // 中间产生的临时变量具有常性,要加const//int* pi = &i;//float f = (float)pi; //errreturn 0;}(2)内置类型转换为类类型对象:// <2> C+ C;public:void func1(const C& cc);void func2(const C& cc);private:int _d1 = 3;int _d2 = 4;};// xxx.cppvoid 如何优化C++标准并没有严格规定,各个编译器会根据情况自行处理。当前主流的相对新⼀点的编译器对于连续⼀个表达式步骤中的连续拷贝会进行合并优化,有些更新更"激进"的编译器还会进行跨行跨表达式的合并优化。

    21410编辑于 2025-10-21
  • 来自专栏MasiMaro 的技术博文

    C++ 调用Python3

    作为一种胶水语言,Python 能够很容易地调用 CC++ 等语言,也能够通过其他语言调用 Python 的模块。 Python 提供了 C++ 库,使得开发者能很方便地从 C++ 程序中调用 Python 模块。 这个函数会返回一个Python对象的指针,在C++中表示为PyObject。 +数据类型与Python对象的相互转化 Python与C++结合的一个关键的内容就是C++与Python数据类型的相互转化,针对这个问题Python提供了一系列的函数。 ,可以直接使用 PyObject* args = Py_BuildValue(4, 3); 这种方式来创建元组 解析元组 Python 函数返回的是元组,在C++中需要进行对应的解析,我们可以使用 PyTuple_GetItem

    2.6K50发布于 2018-08-31
  • 来自专栏C/C++、数据结构、算法

    C++:类与对象(3

    C11给出了方法——用缺省值初始化 但是C11是 2011年才出的,那c11之前我们是如何解决的呢?? C++:类与对象(2)-CSDN博客 去重载operator<<,然后发现没办法将operator<<重载成成员函数。因为cout的输出流对象和隐含的this指针在抢占第一个参数的位置。 2、友元关系不能传递 如果C是B的友元, B是A的友元,则不能说明C时A的友元。 3、友元关系不能继承 四、内部类 概念:如果一个类定义在另一个类的内部,这个内部类就叫做内部类。 经过1之后,在人的头脑中已经对洗衣机有了一个清醒的认识,只不过此时计算机还不清楚,想要让计算机识别人想象中的洗衣机,就需要人通过某种面相对象的语言(比如:C++、Java、Python等)将洗衣机用类来进行描述 ,并输入到计算机中 3.

    28710编辑于 2024-02-28
  • C++ 类与对象(3

    这一篇我们来给C++类与对象收尾,这一篇还会补充类的默认成员函数没讲的部分,开始吧 1.类的默认成员函数::取地址运算符重载 1.1const成员函数 C++将const修饰的成员函数称为 const成员函数 3.类型转换 C++支持内置类型隐式类型转换为 类 类型对象,需要相关内置类型为参数的构造函数 比如 A aa = 5 ;  则需要A类有一个参数为 int 的带参构造  构造函数前面加 explicit A a3 ,最后直接用a3 作为参数插入。 是为了让访问静态成员变量的接口在逻辑上与静态成员的特性保持一致,同时避免依赖对象实例,简化调用方式(如果不static修饰,想调用就得再实例化一个对象来间接调用,加了只需要指定类域A::Get_count),是 C+ 综上,析构顺序是 BADC 所以答案选择 B C++类与对象(3)到此结束。下一篇我将结束类与对象的知识,请大家多多支持,有误请指出,谢谢大家!

    19410编辑于 2025-12-20
  • 来自专栏技术分享

    C++】— 类和对象(3

    C++11支持在成员变量声明位置给缺省值。 要尽量使用初始化列表进行初始化,因为那些没有在初始化列表初始化的成员也会走初始化列表进行初始化。 类型转换 c++支持内置类型隐式类型转换为类类型对象,需要有内置类型为参数的构造函数。 构造函数前面+explicit就不再支持隐式类型转换。 int _b = 0; }; int main() { A aa1 = 1; //1构造一个A的临时对象,在用这个对象拷贝构造aa1 //编译器将连续构造+拷贝构造优化为直接构造 A aa3 = { 2,2 }; B b = aa3; // aa3隐式类型转换为b return 0; } 3. static成员 static修饰的成员变量称为静态成员变量,静态成员变量一定要在类外面进行初始化 int _a2 = 2; }; class B { //友元声明 friend void func(const A& aa, const B& bb); private: int _b1 = 3;

    23610编辑于 2024-10-21
  • C++】一篇带你搞懂引用 C++入门(3

    问题引入 生活中我们或多或少都有一些外号,比如《水浒传》中,及时雨宋江、九纹龙史进……而C++中也可以给同一个变量起外号,这就是引用。 1. 引用的表示方法 类型 & 引用变量名(对象名) 引用实体 这里熟悉C语言的同学就会发现,&是C语言中的取值符,同时也是按位运算符,这其实是运算符重载例子。 除了这里提到的,C++中还有一些运算符重载的例子:<<可以是插入运算符,也可以是左移运算符。 由本段代码可知,有一个是实体变量a,有两个别名b、c,我们可以通过调试来看一下这几个值的内存地址: 通过调取内存不难发现,a、b、c指向的是同一块内存空间。 , 2); Add(3, 4); cout << "Add(1,2):" << ret << endl; return 0; } 运行结果: 1.6.

    20410编辑于 2025-12-23
  • 来自专栏学习成长指南

    C++~~string模拟实现(3

    ,这两者仅仅在代码的简洁度上面有所区别,其他的大体相同; (2)现代的写法里面,我们使用的初始化列表进行初始化,调用swap函数进行这个交换同样也是可以达到这个拷贝构造的目的,实际上这个temp就是s3的拷贝 ,想要达到的效果就是s2和s3一样,这个swap实际上就是s2这个对象调用的; (3)赋值函数的现代写法就更加简洁了,因为我们在进行赋值的时候,主要考虑的问题就是原来空间的释放问题,我们把原来的空间数据拷贝给 这样的话就相当于延迟拷贝,需要时候我们再去执行深拷贝; 4.string类的几个构造函数总结 4.1基本用法 4.2两个赋值方式 下面的两个方式都是等效的,都是相当于对于这个字符串进行初始化赋值操作; 4.3拷贝构造 C+ hello world字符串,3,3就是表示的从第三个下标位置开始,读取三个字符的内容; s9是只给出来了第二个参数,我们这个时候就会直接读取到斜杠0才结束,并不会向上面的一样读取后面的随机内容; 但是如果我们把这个 s3换为正式的字符串内容,我们感觉这个好像并没有影响,实际上这个输出的结果还是有一些差别的; 对于这个s11的内容,会按照上面的4.4里面的构造函数打印输出的,因为这个参数和4.4里面的构造函数更加接近

    11300编辑于 2025-02-24
领券