![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++程序设计
清楼小刘
这个作者很懒,什么都没留下…
展开
-
函数指针的学习
在看了一下《C和指针》这本书的函数指针,发现自己对这些知识非常地陌生,哪怕自己大学两年都在学C/C++,但真的学习的不深入。非常害怕泛而不精,出去找工作都可能没人要,所以下定决心这学期再忙也要花时间好好学习C/C++,把这门语言精通和吃透,毕竟不要在该奋斗的年纪选择了安逸。 #include//学习函数指针int add(int a,int b){return a原创 2016-09-06 22:14:03 · 283 阅读 · 0 评论 -
main函数中定义函数
又碰到一道关于结构体知识的选择题: 下列代码编译时会产生错误的是()#include <iostream>using namespace std;struct Foo { Foo() {} Foo(int) {} void fun() {}};int main(void) { Foo a(10); //语句1 a.fun(); //语句2原创 2017-03-26 14:07:30 · 5501 阅读 · 0 评论 -
堆与栈的内存地址相对高低
看下面一段代码#includeusing namespace std;int main(){ int a,b; //栈 printf("%x\n%x\n",&a,&b); int *c = new (int ); //堆 printf("%x\n",c);} 运行结果:我也有这样的疑问,记得学习的计算机组成原理上都说栈在高地址往低处增长,堆在低地址往高原创 2017-03-26 16:03:46 · 7693 阅读 · 0 评论 -
C++拷贝构造函数详解
题目链接 :https://www.nowcoder.com/questionTerminal/832cff106c394d9191263b09120f054b?pos=133&orderByHotValue=1 来源:牛客网 下列情况中,不会调用拷贝构造函数的是() 用一个对象去初始化同一个类的另一个新对象时 将类的一个对象赋值给该类的另一个对象时 函数的形参对象,调用函数进行形参和实原创 2017-03-27 07:47:10 · 223 阅读 · 0 评论 -
指针的偏移与类型的关系
看到一道题#includevoid main(){ short *p,*q; short arr[15]={0}; p=q=arr; p++; printf("%d,",p-q); printf("%d,",(char*)p-(char*)q); printf("%d",sizeof(arr)/sizeof(*arr));}p原创 2017-03-27 09:39:35 · 2086 阅读 · 0 评论 -
C++多态性
A,正确,分编译时多态和运行时多态B,编译时多态可以通过函数重载实现,具体表现在根据参数的个数和类型不同选择合适的同名函数C,运行时多态通过虚函数实现,就是运行时根据对象类型自动选择正确的调用接口。模板属于编译时多态性,因为编译时自动根据模板生成模板函数。D,运行时多态是根据对象类型自动选择正确的调用函数,运行时的多态机制也称之为动态绑定有一篇博客总结的超级棒的:http://bl翻译 2017-03-27 11:26:26 · 265 阅读 · 1 评论 -
记一个归并排序模板
#include #includeusing namespace std;long long a[1000010],b[1000010],ans;void merge(long long l,long long r)//排序函数 { long long mid=(l+r)/2,i=0,j=0,k=0; while (k<=r-l)//循环k一次一定能保证下列两组的数刚好全原创 2017-05-09 13:04:34 · 407 阅读 · 0 评论 -
C++ map,set内部数据结构简析
1)Set是一种关联容器,它用于存储数据,并且能从一个数据集合中取出数据。它的每个元素的值必须唯一,而且系统会根据该值来自动将数据排序。每个元素的值不能直接被改变。【重点】内部结构采用红黑树的平衡二叉树。multiset 跟set 类似,唯一的区别是允许键值重复!!!如: 1.为何map和set的插入删除效率比用其他序列容器高? 2.为何每次insert之后,以前转载 2017-06-01 11:03:04 · 533 阅读 · 0 评论 -
左移和右移
查找资料看到一篇博客,转载下来了:http://blog.csdn.NET/yangtalent1206/article/details/7282764今儿巩固下概念,转载下百度上找到的资料,加上了自己的理解,供参考1 当左移移出的是“1”而不是0时,你该怎么想?2 当左移的操作数是一个sign型是,你该怎么想?3 在单片机中和在转载 2017-09-02 11:57:41 · 1355 阅读 · 0 评论 -
表格中的iframe实现打开多个网页
要做到如下效果: 框架 Show a page with iframe <iframe width="600" height="300" frameborder="0" scrolling="yes" src="http://www.sysu.edu.cn"> Your browser does not handles fr原创 2017-04-04 22:25:54 · 2004 阅读 · 0 评论 -
《More Effective C++》 读书笔记(一)
一、基础议题Item 1. 区分指针和引用指针是整数,代表的是内存地址,通过*操作符访问该内存地址上的值而引用是一个变量的别名,可以有空指针,没有空引用引用使用之前不需要判空,因为没有所谓的空引用但是指针使用之前通常得判空引用永远指向它最初获得的那个对象应该总是令operator []返回referenceItem 2. 优先考虑C++风格的类型转换(type)expression这样的类型转换是...原创 2018-02-10 23:10:07 · 246 阅读 · 0 评论 -
windows下的各种字符串
在windows C++的环境下,会接触到好多种字符串类型:C++的std::string, std::wstring, char*, wchar*, windows的LPCTSTR,MFC的CString.....先来说说C++入门时最早接触的: std::string类和char*string是一个类,用起来非常方便,char*转成std::string的几种方法:char ...原创 2018-02-10 19:39:17 · 1106 阅读 · 0 评论 -
windows下的各种字符串
在windows C++的环境下,会接触到好多种字符串类型:C++的std::string, std::wstring, char*, wchar*, windows的LPCTSTR,MFC的CString…先来说说C++入门时最早接触的: std::string类和char*string是一个类,用起来非常方便,char*转成std::string的几种方法:char szName[10...原创 2019-04-13 13:12:08 · 628 阅读 · 0 评论 -
重载运算符之友元函数和成员函数
一道选择题: 计算机假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为() 正确答案应为 AB operator+(AB&A) ,而我选择了 AB operator+(AB&A,AB&B) 这两者有什么区别呢 成员函数操作两个对象时,只需传递一个对象参数,另一个是调用成员的的this原创 2017-03-26 13:03:42 · 1081 阅读 · 0 评论 -
指针数组和数组指针
碰到一道非常懵逼的题:若有以下定义和赋值语句,则与&s[i][j]等价的是()【*(p+i)+j】 int s[2][3] = {0}, (*p)[3], i, j;p = s;i = j = 1; 那么这道题怎么看呢,首先有一个整形的二维数组,然后看第一个知识点int (*p)[3]定义 int (*p)[n];()和[]优先级,参考 http://www.jb51.原创 2017-03-26 11:16:14 · 290 阅读 · 1 评论 -
指针和字符串常量
在阅读C和指针这本书,才发现自己一直对于字符串常量的概念不够清晰。 字符串常量可以说是一个指针, char * pathname = "/usr/temp/xxxxxxxx";strcpy( pathname + 10, "abcde");printf("%s\n",pathname);像这3条语句其实是非法的,因为pathname 是一个指向char类型的指针原创 2016-09-07 19:21:32 · 393 阅读 · 0 评论 -
csv文件和转化成txt后用sstream读取
在一次进行课程实验时,遇到一个困难,形如:DocumentIDWords (split by space)angerdisgustfearjoysadsurprisetrain1mortar assault leaves at least dead0.14860.0135原创 2016-09-27 22:06:51 · 654 阅读 · 0 评论 -
char数组的sizeof
char数组的sizeof在牛客网上做到一道题: 设有定义 char str[ ] =”Hello”; 则语句 printf(“%d %d”,sizeof(str),strlen(str)); 的输出结果是? 正确答案是6和5,后面一个不解释,题解是说sizeof会包括‘/0’的。于是我写了一份代码: #include<bits/stdc++.h> #原创 2017-03-10 11:25:47 · 6604 阅读 · 1 评论 -
c++中的时间
1 time_t t; 哪个选项可以将t初始化为当前程序的运行时间? A. t = clock(); B. time( &t ); C. time( t ); D. t = localtime(); E. None of the above 在C++中,time()函数的原型是 time_t time(time_t* t); 返回的值取得从1970年1月1日翻译 2017-03-27 21:03:42 · 308 阅读 · 0 评论 -
绝不重新定义继承而来的缺省参数值!
子类对象调用父类的函数,但是父类函数中再次要求调用父类和子类都实现了得虚函数,那么这个时候调用的是?答案是:记住:virtual 函数是动态绑定,而缺省参数值却是静态绑定。 意思是你可能会在“调用一个定义于派生类内的virtual函数”的同时,却使用基类为它所指定的缺省参数值。 结论:绝不重新定义继承而来的缺省参数值!(可参考《Effective C++》条款37)对于本例:转载 2017-03-28 23:00:32 · 474 阅读 · 0 评论 -
含const的双重指针解析
由于有2个const,我们可以先理清楚关系,画好图,得知这是个指针的指针,也就是一个char类型的双重指针,具体关系如下图。然后再根据const 修饰的最近的内容确定哪个是常量即可。所以选A原创 2017-03-28 23:25:58 · 1267 阅读 · 0 评论 -
32位小端模式的longlong中取int
讲解非常的详细,看链接:https://www.nowcoder.com/questionTerminal/b5e03f2361f04631b2eaf567029385c6总结:printf()是一个库函数,C,C++中函数的参数是从右往左入栈的; 小端模式是低位存储在低字节转载 2017-03-28 23:56:39 · 1035 阅读 · 0 评论 -
C/C++未定义行为
下列 C 代码中,不属于未定义行为的有:______。int i=0;i=(i++);char *p=”hello”;p[1]=’E’char *p=”hello”;char ch=*p++int i=0;printf(“%d%d\n”,i++ i--)都是未定义行为都不是未定义行为首先我应该是能选出答案的,但是因为优先级没有弄清楚,看到转载 2017-03-29 09:50:15 · 489 阅读 · 0 评论 -
C/C++中的0长数组(柔性数组)
定义网络传输数据包为 1234classpacket{ intsize; voiddata[0];}维护数据包空间的连续性数据分割位指向独立的数据空间无任何作用转载 2017-03-29 13:05:25 · 555 阅读 · 0 评论 -
auto_ptr解析
参考博客:http://blog.163.com/hbu_lijian/blog/static/126129153201242124741769/转载 2017-03-29 21:28:23 · 188 阅读 · 0 评论 -
C++标准转换运算符dynamic_cast
看到那么一道题目:一脸懵逼,百度看看:看到一位雪城大学的学生的博客,故此分享:http://www.cnblogs.com/ider/archive/2011/08/01/cpp_cast_operator_part5.html转载 2017-03-29 21:46:51 · 218 阅读 · 0 评论 -
C/C++中float和double的存储结构
看到有关考查float存储结构的一道题:参考:http://www.cnblogs.com/wuyuankun/p/3984385.html转载 2017-03-30 12:54:00 · 342 阅读 · 0 评论 -
windows下字符串格式化的方法总结
日常开发中,经常需要用到字符串格式化,将某个数字放进字符串里面。最开始C语言时应该都使用过prinft:std::string strName = "aLi";int nAge = 23;printf("My name is %s. My age is %d", strName, nAge);但是printf是直接输出到控制台的,有时候我们需要在某些地方使用到,就需要用到字符串来存储这个...原创 2019-04-14 23:51:58 · 1675 阅读 · 0 评论