C++ IQ--
文章平均质量分 50
取名太麻烦了
这个作者很懒,什么都没留下…
展开
-
linux下tcp服务端与客户端实现
使用socket完成linux下服务端与客户端的编写,传输层使用tcp协议,服务端使用多进程实现并发。原创 2023-02-26 14:34:36 · 563 阅读 · 0 评论 -
c++函数指针进阶
c++成员函数指针调用原创 2023-02-13 23:00:45 · 343 阅读 · 0 评论 -
c++ const_cast转换运算符与volatile关键字
const_cast转换运算符用来去除变量的底层const属性,这里的变量的类型是指针或者引用类型,因为普通类型并没有底层const属性这个说法。const_cast使用实例:代码转自:IT男汉:C++ const_cast用法#include<iostream>using namespace std;void ConstTest1() { const int a = 5; int *p; p = const_cast<int*>(&a); (*p)..原创 2021-07-27 20:26:46 · 469 阅读 · 0 评论 -
c/c++判断字节序类型
代码来自《Linux高新能服务器编程》#include<stdio.h>void byteorder(){ union { short value; // short为2个字节,共16位 char union_bytes[sizeof(short)]; }test; test.value = 0x0102; if((test.union_bytes[0] == 1) && (test.union_bytes[1]==2)) { printf("b原创 2021-06-10 11:09:48 · 247 阅读 · 0 评论 -
使用字符串字面值初始化字符数组需要主意的问题
使用字符串字面值对字符数组进行初始化时,需要注意字符串字面值的类型为const char* 类型,并且以’\0’结尾,所以需要注意字符数组与字符串字面值的长度是否相等。代码如下:#include <iostream>#include <string>using namespace std;int main(){ //char a[6] = "123456"; // error: const char[7]类型的值不能用于初始化"char [6]"类型的实体 char原创 2021-05-09 10:36:14 · 292 阅读 · 0 评论 -
蓝桥杯翻硬币的一些数学推导
主要推导一下字符不同的数量为2n+1时没有一种解决方法和数量为2n时从第一个开始翻转最后一定可以实现两个字符串相同。设不同的字符数量为kk=2n+1时首先对于k=1这个特殊的例子,很容易想到没有一种解决方案可以使两个字符串相同。k=2n+1,n>0,此时翻转一个不同的字符,k可能有两种变化第一种,k=k,即翻转前相邻位置上的字符是相同的,翻转后相邻位置上的不同了。第二种,k=k-2,即翻转前相邻位置上的字符是不相同的,翻转后相邻位置上的字符相同了。可已看出,在这个过程中k递减且保持为原创 2021-03-26 17:25:11 · 427 阅读 · 0 评论 -
C++中负数和补码的关系
今天在阅读关于树状数组和线段树的博客时遇到了一个问题:对于一个int类型的正整数x,-x=x补。列如x=6,-x=x补=111110102。看到这里很????,原来C++使用一个数的补码存储它的负数的。可以用下面的代码验证一下,部分代码参考老王生涯:C++输出二进制数:#include <iostream> #include <bitset>int lowbit(int x);void printBinary(int x);int main() { std::cou原创 2021-01-20 17:11:13 · 2439 阅读 · 2 评论 -
蓝桥杯2018省赛A组第五题
这道题在网上很容易找到答案:int n = size / 3;这篇文章主要分析代码递归的逻辑。一碰到递归头真的大!题目如下:#include <stdio.h>#include <stdlib.h>void show(char* buf, int w){ int i,j; for(i=0; i<w; i++){ for(j=0; j<w; j++){ printf("%c", buf[i*w+j]==0? ' ' : 'o'); }原创 2021-01-19 22:37:50 · 249 阅读 · 0 评论 -
冒泡排序和插入排序傻傻分不清
1原创 2021-01-13 15:26:04 · 3349 阅读 · 3 评论 -
32位机器int变量的最大值和最小值
1.最小值为什么是-2^31。2.最高位为1时一个数为负数还是整数。原创 2021-01-11 09:32:24 · 18325 阅读 · 4 评论 -
C++ string类中的空字符
在做leetcode时发现一个问题。题目如下:题目地址题目不难,很容易做出来。问题出现在自己写的代码里,代码如下:class Solution {public: vector<vector<int>> largeGroupPositions(string s) { vector<vector<int>> result; vector<int> tmp(2, 0); int i =原创 2021-01-05 15:54:07 · 2293 阅读 · 0 评论 -
leetcode第509题:斐波那契数列
题目链接这道题其实不难,甚至有人使用了O(1)的解法,但是在官方解法里看到一个使用通项公式的解法,该方法涉及到特征方程的知识,虽然之前有信号与系统,但是已经还给老师了。于是在网上查了一下,关于递推数列的通项解,这篇知乎说得很详细【数列】特征方程与特征根。写这篇博客主要是记录一下,有空的时候还要复习一下信号与系统。...转载 2021-01-04 15:46:18 · 74 阅读 · 0 评论 -
数据结构(C++描述版,金远平编著)习题4.1
题目描述:写一个算法,读入任意一棵树的符号表示,并构建其内部表示。即树的广义表形式转换为链表形式。如由A(B(E(K,L),F),C(G),D(H(M),I,J))表示的树长这个样子:参考博客点击这里代码:Tree.h#pragma once // 防止头文件被多次包含#include <iostream>#include <stack>/*1.定义树结点类TreeNode。2.定义树类,数据成员为一棵树的根,成员函数build为根据一棵树的符号表示创建一转载 2021-01-01 11:13:08 · 327 阅读 · 0 评论 -
C++ sort()对向量按照某一个指定分量排序
在做一道LeetCode时需要用到sort()排序,题目是这样的:当时想了一个比较简单的方法,即先将输入的vector按照第一个元素进行进行排序, 示例中的数组排好序为[ [1, 2], [1, 3], [2,3], [3, 4]]。排好序过后, 对于相邻的两个区间[a, b]和[c, d],如果这两个区间重叠,则判断b和d哪一个值大一点,去掉值较大的那个区间。其中需要用到sort()排序,在使用sort时遇到两个问题:一是如何按照向量的第一个元素排序二是reference to non-stat原创 2020-12-31 11:22:12 · 1819 阅读 · 0 评论